Mercurial > hg > graal-compiler
changeset 21331:45ff3423d4c4
LinearScan: call sortIntervalsBeforeAllocation in allocate().
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Tue, 12 May 2015 13:22:25 +0200 |
parents | e35311c60c84 |
children | 6c1a3a2d6fb9 |
files | graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Tue May 12 13:19:01 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Tue May 12 13:22:25 2015 +0200 @@ -1020,6 +1020,9 @@ AllocationContext context = new AllocationContext(spillMoveFactory); createLifetimeAnalysisPhase().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); + + sortIntervalsBeforeAllocation(); + createRegisterAllocationPhase().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); if (LinearScan.Options.LSRAOptimizeSpillPosition.getValue()) { @@ -1071,7 +1074,6 @@ @Override protected <B extends AbstractBlockBase<B>> void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, SpillMoveFactory spillMoveFactory) { - sortIntervalsBeforeAllocation(); printIntervals("Before register allocation"); allocateRegisters(); printIntervals("After register allocation");