changeset 5860:32a7714ac0c5

Canonicalize at least once in IterativeCheckCastElimination
author Gilles Duboscq <duboscq@ssw.jku.at>
date Thu, 19 Jul 2012 00:56:40 +0200
parents 16c3284c94cd
children 1cb45c7dba55 0428e0b46c63
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/IterativeCheckCastEliminationPhase.java
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/IterativeCheckCastEliminationPhase.java	Thu Jul 19 00:27:17 2012 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/IterativeCheckCastEliminationPhase.java	Thu Jul 19 00:56:40 2012 +0200
@@ -43,12 +43,17 @@
     protected void run(StructuredGraph graph) {
         CheckCastEliminationPhase eliminate = new CheckCastEliminationPhase();
         CanonicalizerPhase canon = new CanonicalizerPhase(target, runtime, assumptions);
+        boolean canonRun = false;
         while (true) {
             eliminate.apply(graph);
             if (!eliminate.wasGraphModfied()) {
                 break;
             }
             canon.apply(graph);
+            canonRun = true;
+        }
+        if (!canonRun) {
+            canon.apply(graph);
         }
     }