Mercurial > hg > graal-jvmci-8
changeset 15424:96ed2167f79c
[flow-sensitive] opt-in for flow-sensitive reductions in IterativeInliningPhase
author | Miguel Garcia <miguel.m.garcia@oracle.com> |
---|---|
date | Sun, 27 Apr 2014 15:57:44 +0200 |
parents | 46c51b5d0abb |
children | a92ff90899b6 |
files | graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java Tue Apr 29 11:02:08 2014 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java Sun Apr 27 15:57:44 2014 +0200 @@ -31,6 +31,7 @@ import com.oracle.graal.debug.Debug.Scope; import com.oracle.graal.nodes.*; import com.oracle.graal.phases.common.*; +import com.oracle.graal.phases.common.cfs.IterativeFlowSensitiveReductionPhase; import com.oracle.graal.phases.tiers.*; public class IterativeInliningPhase extends AbstractInliningPhase { @@ -70,9 +71,14 @@ new DeadCodeEliminationPhase().apply(graph); - if (ConditionalElimination.getValue() && OptCanonicalizer.getValue()) { + boolean reduceOrEliminate = FlowSensitiveReduction.getValue() || ConditionalElimination.getValue(); + if (reduceOrEliminate && OptCanonicalizer.getValue()) { canonicalizer.apply(graph, context); - new IterativeConditionalEliminationPhase(canonicalizer).apply(graph, context); + if (FlowSensitiveReduction.getValue()) { + new IterativeFlowSensitiveReductionPhase(canonicalizer).apply(graph, context); + } else { + new IterativeConditionalEliminationPhase(canonicalizer).apply(graph, context); + } } if (!progress) { break;