# HG changeset patch # User Tom Rodriguez # Date 1406583808 25200 # Node ID add3510d087be9a4a50c244e18ce6f5597a7b9dc # Parent 19410ce05a682de1a9f9eeebe86b4e891e178c0d Do final round of incremental conditional elimination diff -r 19410ce05a68 -r add3510d087b graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java --- 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());