| Class | Description |
|---|---|
| Interval |
Represents an interval in the linear scan register allocator.
|
| Interval.UsePosList |
List of use positions.
|
| IntervalWalker | |
| LinearScan |
An implementation of the linear scan register allocator algorithm described in
"Optimized Interval Splitting in a Linear
Scan Register Allocator" by Christian Wimmer and Hanspeter Moessenboeck.
|
| LinearScan.BlockData | |
| LinearScan.Options | |
| LinearScanAssignLocationsPhase |
Phase 7: Assign register numbers back to LIR.
|
| LinearScanEliminateSpillMovePhase | |
| LinearScanEliminateSpillMovePhase.Options | |
| LinearScanLifetimeAnalysisPhase | |
| LinearScanOptimizeSpillPositionPhase | |
| LinearScanPhase | |
| LinearScanRegisterAllocationPhase | |
| LinearScanResolveDataFlowPhase |
Phase 6: resolve data flow
Insert moves at edges between blocks if intervals have been split.
|
| MoveResolver | |
| OptimizingLinearScanWalker | |
| OptimizingLinearScanWalker.Options | |
| Range |
Represents a range of integers from a start (inclusive) to an end (exclusive.
|
| Enum | Description |
|---|---|
| Interval.RegisterPriority |
Constants denoting the register usage priority for an interval.
|
| Interval.SpillState |
Constants used in optimization of spilling of an interval.
|