public class TraceSimpleLifetimeAnalysisPhase extends TraceLinearScanLifetimeAnalysisPhase
AllocationPhase.AllocationContext
LIRPhase.Options
allocator
Constructor and Description |
---|
TraceSimpleLifetimeAnalysisPhase(LinearScan allocator,
TraceBuilder.TraceBuilderResult<?> traceBuilderResult) |
Modifier and Type | Method and Description |
---|---|
protected void |
addDef(AllocatableValue operand,
LIRInstruction op,
Interval.RegisterPriority registerPriority,
LIRKind kind) |
protected void |
addTemp(AllocatableValue operand,
int tempPos,
Interval.RegisterPriority registerPriority,
LIRKind kind) |
protected void |
addUse(AllocatableValue operand,
int from,
int to,
Interval.RegisterPriority registerPriority,
LIRKind kind) |
protected void |
buildIntervals() |
protected <B extends AbstractBlockBase<B>> |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
List<B> codeEmittingOrder,
List<B> linearScanOrder,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig registerAllocationConfig) |
changeSpillDefinitionPos, computeGlobalLiveSets, handleMethodArguments, postBuildIntervals, registerPriorityOfOutputOperand, setHint
addRegisterHint, getMaterializedValue, numberInstructions, registerPriorityOfInputOperand, reportFailure, verifyLiveness
run
apply, apply, createName, getName
public TraceSimpleLifetimeAnalysisPhase(LinearScan allocator, TraceBuilder.TraceBuilderResult<?> traceBuilderResult)
protected <B extends AbstractBlockBase<B>> void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, LIRGeneratorTool.SpillMoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig)
run
in class LinearScanLifetimeAnalysisPhase
protected void addUse(AllocatableValue operand, int from, int to, Interval.RegisterPriority registerPriority, LIRKind kind)
addUse
in class LinearScanLifetimeAnalysisPhase
protected void addTemp(AllocatableValue operand, int tempPos, Interval.RegisterPriority registerPriority, LIRKind kind)
addTemp
in class LinearScanLifetimeAnalysisPhase
protected void addDef(AllocatableValue operand, LIRInstruction op, Interval.RegisterPriority registerPriority, LIRKind kind)
addDef
in class LinearScanLifetimeAnalysisPhase
protected void buildIntervals()
buildIntervals
in class TraceLinearScanLifetimeAnalysisPhase