public final class SSALinearScan extends LinearScan
LinearScan.BlockData, LinearScan.Options
DOMINATOR_SPILL_MOVE_ID
Constructor and Description |
---|
SSALinearScan(TargetDescription target,
LIRGenerationResult res,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig regAllocConfig,
List<? extends AbstractBlockBase<?>> sortedBlocks) |
Modifier and Type | Method and Description |
---|---|
protected void |
beforeSpillMoveElimination() |
protected LinearScanLifetimeAnalysisPhase |
createLifetimeAnalysisPhase() |
protected MoveResolver |
createMoveResolver() |
protected LinearScanResolveDataFlowPhase |
createResolveDataFlowPhase() |
protected LinearScanEliminateSpillMovePhase |
createSpillMoveEliminationPhase() |
allocate, attributes, blockAt, blockCount, blockForId, callKillsRegisters, createAssignLocationsPhase, createOptimizeSpillPositionPhase, createRegisterAllocationPhase, getBlockData, getFirstLirInstructionId, getFrameMapBuilder, getLastLirInstructionId, getLIR, getOrCreateInterval, getRegisterAllocationConfig, getRegisters, getSpillMoveFactory, instructionForId, intervalFor, intervals, isProcessed, isVariableOrRegister, liveSetSize, printIntervals, printLir, sortedBlocks, sortIntervalsBeforeAllocation, splitChildAtOpId, verifyIntervals
public SSALinearScan(TargetDescription target, LIRGenerationResult res, LIRGeneratorTool.SpillMoveFactory spillMoveFactory, RegisterAllocationConfig regAllocConfig, List<? extends AbstractBlockBase<?>> sortedBlocks)
protected MoveResolver createMoveResolver()
createMoveResolver
in class LinearScan
protected LinearScanLifetimeAnalysisPhase createLifetimeAnalysisPhase()
createLifetimeAnalysisPhase
in class LinearScan
protected LinearScanResolveDataFlowPhase createResolveDataFlowPhase()
createResolveDataFlowPhase
in class LinearScan
protected LinearScanEliminateSpillMovePhase createSpillMoveEliminationPhase()
createSpillMoveEliminationPhase
in class LinearScan
protected void beforeSpillMoveElimination()
beforeSpillMoveElimination
in class LinearScan