Name |
Description |
BaseEdgeSplitStage |
This stage removes critical edges by inserting empty basic blocks. Some SSA optimizations and the flow control resolution in the register allocator require that all critical edges are removed. |
BlockOrderingStage |
The Block Ordering Stage reorders blocks to optimize loops and reduce the distance of jumps and branches. |
CILProtectedRegionStage |
This stage inserts IR instructions related to protected regions. |
CILTransformationStage |
Transforms CIL instructions into their appropriate IR. |
CodeGenerationStage |
Base class for code generation stages. |
EmptyBlockRemovalStage |
This stage removes empty blocks. |
ExceptionPrologueStage |
This stage inserts the ExceptionPrologue IR instruction at the beginning of each exception block. |
ExceptionStage |
|
GreedyRegisterAllocatorStage |
|
IRCleanupStage |
|
IROptimizationStage |
|
InlineEvaluationStage |
|
InlineStage |
|
JumpOptimizationStage |
This stages removes jumps to the next instruction |
LeaveSSA |
|
LinkerFinalizationStage |
Finalizes the linking |
MapFileGenerationStage |
An compilation stage, which generates a map file of the built binary file. |
MetadataStage |
Emits metadata for assemblies and types |
MethodExceptionLookupTableStage |
Emits method lookup table |
MethodLookupTableStage |
Emits method lookup table |
OperandAssignmentStage |
|
OperandAssignmentStage.WorkItem |
|
PlugStage |
Searches for plug declarations |
PreciseGCStage |
This stage determine were object references are located in code. |
PreciseGCStage.RangeData |
|
ProtectedRegionLayoutStage |
|
SparseConditionalConstantPropagationStage |
|
StackLayoutStage |
Calculates the layout of the stack of the method. |
StackSetupStage |
|
StackSlotStage |
Calculates the layout of the stack of the method. |
StaticAllocationResolutionStage |
|
TypeInitializerSchedulerStage |
Schedules type initializers and creates a hidden mosacl_main method, which runs all type initializers in sequence. |
UnboxValueTypeStage |
Unboxes value types when we are virtually calling a method on a boxed value type. |
VirtualRegisterRenameStage |
|