# HG changeset patch # User Gilles Duboscq # Date 1355756563 -3600 # Node ID cccec951cb76c0f4291f9650ba4a12abb6d82136 # Parent 1e099e2c619749ceb87dfa083a2ec3afbc2ce695 Move loop unswitching before lowering Add a full canonicalizer just after inlining diff -r 1e099e2c6197 -r cccec951cb76 graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Mon Dec 17 16:01:55 2012 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Mon Dec 17 16:02:43 2012 +0100 @@ -123,6 +123,7 @@ new DeadCodeEliminationPhase().apply(graph); if (GraalOptions.CheckCastElimination && GraalOptions.OptCanonicalizer) { + new CanonicalizerPhase(target, runtime, assumptions).apply(graph); new IterativeConditionalEliminationPhase(target, runtime, assumptions).apply(graph); } } @@ -150,7 +151,10 @@ } if (GraalOptions.OptLoopTransform) { new LoopTransformHighPhase().apply(graph); + new LoopTransformLowPhase().apply(graph); } + new RemoveValueProxyPhase().apply(graph); + if (GraalOptions.OptCanonicalizer) { new CanonicalizerPhase(target, runtime, assumptions).apply(graph); } @@ -169,10 +173,6 @@ new ReadEliminationPhase().apply(graph); } } - - if (GraalOptions.OptLoopTransform) { - new LoopTransformLowPhase().apply(graph); - } new RemoveValueProxyPhase().apply(graph); if (GraalOptions.OptCanonicalizer) {