Mercurial > hg > graal-compiler
changeset 21313:bb9d3f0616a3
LinearScan: reorganize LIR and Interval dumping.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 06 May 2015 17:37:35 +0200 |
parents | 8ecb442fc864 |
children | 8908ac7d2c86 |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java |
diffstat | 1 files changed, 6 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Wed May 06 17:04:31 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Wed May 06 17:37:35 2015 +0200 @@ -1837,16 +1837,14 @@ try (Indent indent = Debug.logAndIndent("LinearScan allocate")) { AllocationContext context = new AllocationContext(spillMoveFactory); - new LifetimeAnalysis().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context); - new RegisterAllocation().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context); + new LifetimeAnalysis().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); + new RegisterAllocation().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); + if (LinearScan.Options.LSRAOptimizeSpillPosition.getValue()) { - new OptimizeSpillPosition().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context); + new OptimizeSpillPosition().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); } new ResolveDataFlow().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context); - printIntervals("After register allocation"); - printLir("After register allocation", true); - sortIntervalsAfterAllocation(); if (DetailedAsserts.getValue()) { @@ -1859,8 +1857,6 @@ if (DetailedAsserts.getValue()) { verifyIntervals(); } - - printLir("After register number assignment", true); } } @@ -1886,6 +1882,7 @@ SpillMoveFactory spillMoveFactory) { printIntervals("Before register allocation"); allocateRegisters(); + printIntervals("After register allocation"); } } @@ -1896,6 +1893,7 @@ protected <B extends AbstractBlockBase<B>> void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, SpillMoveFactory spillMoveFactory) { optimizeSpillPosition(); + printIntervals("After optimize spill position"); } } @@ -1917,7 +1915,6 @@ SpillMoveFactory spillMoveFactory) { beforeSpillMoveElimination(); eliminateSpillMoves(); - printLir("After spill move elimination", true); } }