changeset 7246:cccec951cb76

Move loop unswitching before lowering Add a full canonicalizer just after inlining
author Gilles Duboscq <duboscq@ssw.jku.at>
date Mon, 17 Dec 2012 16:02:43 +0100
parents 1e099e2c6197
children 1706be855f0e 3af2fcc319f1
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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) {