public final class SSILinearScan extends LinearScan
LinearScan.BlockData, LinearScan.Options
DOMINATOR_SPILL_MOVE_ID
Constructor and Description |
---|
SSILinearScan(TargetDescription target,
LIRGenerationResult res,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig regAllocConfig,
List<? extends AbstractBlockBase<?>> sortedBlocks) |
Modifier and Type | Method and Description |
---|---|
protected <B extends AbstractBlockBase<B>> |
allocate(TargetDescription target,
LIRGenerationResult lirGenRes,
List<B> codeEmittingOrder,
List<B> linearScanOrder,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig registerAllocationConfig) |
protected LinearScanLifetimeAnalysisPhase |
createLifetimeAnalysisPhase() |
protected MoveResolver |
createMoveResolver() |
protected LinearScanResolveDataFlowPhase |
createResolveDataFlowPhase() |
protected LinearScanEliminateSpillMovePhase |
createSpillMoveEliminationPhase() |
attributes, beforeSpillMoveElimination, 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 SSILinearScan(TargetDescription target, LIRGenerationResult res, LIRGeneratorTool.SpillMoveFactory spillMoveFactory, RegisterAllocationConfig regAllocConfig, List<? extends AbstractBlockBase<?>> sortedBlocks)
protected <B extends AbstractBlockBase<B>> void allocate(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, LIRGeneratorTool.SpillMoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig)
allocate
in class LinearScan
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