changeset 16609:add3510d087b

Do final round of incremental conditional elimination
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Mon, 28 Jul 2014 14:43:28 -0700
parents 19410ce05a68
children 8cdb9ef96c01 bda327903f96
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java	Mon Jul 28 14:43:01 2014 -0700
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java	Mon Jul 28 14:43:28 2014 -0700
@@ -54,6 +54,13 @@
 
         appendPhase(new ExpandLogicPhase());
 
+        /* Cleanup IsNull checks resulting from MID_TIER/LOW_TIER lowering and ExpandLogic phase. */
+        if (ConditionalElimination.getValue() && OptCanonicalizer.getValue()) {
+            appendPhase(new IterativeConditionalEliminationPhase(canonicalizer));
+            /* Canonicalizer may create some new ShortCircuitOrNodes so clean them up. */
+            appendPhase(new ExpandLogicPhase());
+        }
+
         appendPhase(new UseTrappingNullChecksPhase());
 
         appendPhase(new DeadCodeEliminationPhase());