Mercurial > hg > graal-compiler
changeset 9271:7409a84b6001
Move more phases into tiers.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Tue, 23 Apr 2013 17:49:22 +0200 |
parents | 4acb1c45040f |
children | 90c3837d6a1c |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java |
diffstat | 4 files changed, 15 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Tue Apr 23 17:49:15 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Tue Apr 23 17:49:22 2013 +0200 @@ -38,7 +38,6 @@ import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.cfg.*; import com.oracle.graal.nodes.spi.*; -import com.oracle.graal.nodes.spi.Lowerable.*; import com.oracle.graal.nodes.util.*; import com.oracle.graal.phases.*; import com.oracle.graal.phases.PhasePlan.PhasePosition; @@ -140,27 +139,14 @@ Suites.DEFAULT.getHighTier().apply(graph, highTierContext); - new LoweringPhase(LoweringType.BEFORE_GUARDS).apply(graph, highTierContext); - MidTierContext midTierContext = new MidTierContext(runtime, assumptions, replacements, target); Suites.DEFAULT.getMidTier().apply(graph, midTierContext); - // Add safepoints to loops - new SafepointInsertionPhase().apply(graph); - - new GuardLoweringPhase().apply(graph, midTierContext); - plan.runPhases(PhasePosition.LOW_LEVEL, graph); LowTierContext lowTierContext = new LowTierContext(runtime, assumptions, replacements, target); Suites.DEFAULT.getLowTier().apply(graph, lowTierContext); - new LoweringPhase(LoweringType.AFTER_GUARDS).apply(graph, lowTierContext); - - new FrameStateAssignmentPhase().apply(graph); - - new DeadCodeEliminationPhase().apply(graph); - final SchedulePhase schedule = new SchedulePhase(); schedule.apply(graph); Debug.dump(schedule, "final schedule");
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java Tue Apr 23 17:49:15 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java Tue Apr 23 17:49:22 2013 +0200 @@ -23,6 +23,7 @@ package com.oracle.graal.compiler.phases; import com.oracle.graal.loop.phases.*; +import com.oracle.graal.nodes.spi.Lowerable.LoweringType; import com.oracle.graal.phases.*; import com.oracle.graal.phases.common.*; import com.oracle.graal.phases.tiers.*; @@ -68,6 +69,8 @@ if (GraalOptions.OptCanonicalizer) { addPhase(new CanonicalizerPhase()); } + + addPhase(new LoweringPhase(LoweringType.BEFORE_GUARDS)); } }
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java Tue Apr 23 17:49:15 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java Tue Apr 23 17:49:22 2013 +0200 @@ -22,11 +22,18 @@ */ package com.oracle.graal.compiler.phases; +import com.oracle.graal.nodes.spi.Lowerable.LoweringType; import com.oracle.graal.phases.*; +import com.oracle.graal.phases.common.*; import com.oracle.graal.phases.tiers.*; public class LowTier extends PhaseSuite<LowTierContext> { public LowTier() { + addPhase(new LoweringPhase(LoweringType.AFTER_GUARDS)); + + addPhase(new FrameStateAssignmentPhase()); + + addPhase(new DeadCodeEliminationPhase()); } }
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java Tue Apr 23 17:49:15 2013 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java Tue Apr 23 17:49:22 2013 +0200 @@ -65,5 +65,10 @@ if (GraalOptions.OptCanonicalizer) { addPhase(new CanonicalizerPhase()); } + + // Add safepoints to loops + addPhase(new SafepointInsertionPhase()); + + addPhase(new GuardLoweringPhase()); } }