public final class SSILinearScan extends LinearScan
LinearScan.BlockData, LinearScan.OptionsDOMINATOR_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, verifyIntervalspublic 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 LinearScanprotected MoveResolver createMoveResolver()
createMoveResolver in class LinearScanprotected LinearScanLifetimeAnalysisPhase createLifetimeAnalysisPhase()
createLifetimeAnalysisPhase in class LinearScanprotected LinearScanResolveDataFlowPhase createResolveDataFlowPhase()
createResolveDataFlowPhase in class LinearScanprotected LinearScanEliminateSpillMovePhase createSpillMoveEliminationPhase()
createSpillMoveEliminationPhase in class LinearScan