public class StackMoveOptimizationPhase extends PostAllocationOptimizationPhase
AMD64Move.AMD64StackMoves of the same type with a single
AMD64Move.AMD64MultiStackMove to avoid storing/restoring the scratch register multiple times.
Note: this phase must be inserted after RedundantMoveElimination phase because
AMD64Move.AMD64MultiStackMove are not probably detected.| Modifier and Type | Class and Description |
|---|---|
static class |
StackMoveOptimizationPhase.Options |
PostAllocationOptimizationPhase.PostAllocationOptimizationContextLIRPhase.LIRPhaseStatisticsstatisticsClassValue| Constructor and Description |
|---|
StackMoveOptimizationPhase() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
PostAllocationOptimizationPhase.PostAllocationOptimizationContext context) |
apply, apply, createName, createName, getLIRPhaseStatistics, getNameprotected void run(TargetDescription target,
LIRGenerationResult lirGenRes,
PostAllocationOptimizationPhase.PostAllocationOptimizationContext context)
run in class LIRPhase<PostAllocationOptimizationPhase.PostAllocationOptimizationContext>