src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/ScheduleState.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 50858 2d3e99a72541
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/ScheduleState.java	Fri Feb 02 10:37:48 2018 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/ScheduleState.java	Fri Feb 02 17:28:17 2018 -0800
@@ -22,8 +22,12 @@
  */
 package org.graalvm.compiler.microbenchmarks.graal.util;
 
+import org.graalvm.compiler.nodes.StructuredGraph;
+import org.graalvm.compiler.phases.OptimisticOptimizations;
+import org.graalvm.compiler.phases.PhaseSuite;
 import org.graalvm.compiler.phases.schedule.SchedulePhase;
 import org.graalvm.compiler.phases.schedule.SchedulePhase.SchedulingStrategy;
+import org.graalvm.compiler.phases.tiers.HighTierContext;
 
 public class ScheduleState extends GraphState {
 
@@ -36,7 +40,7 @@
     }
 
     public ScheduleState() {
-        this(SchedulingStrategy.EARLIEST);
+        this(SchedulingStrategy.EARLIEST_WITH_GUARD_ORDER);
     }
 
     @Override
@@ -44,4 +48,13 @@
         schedule = new SchedulePhase(selectedStrategy);
         super.beforeInvocation();
     }
+
+    @Override
+    protected StructuredGraph preprocessOriginal(StructuredGraph structuredGraph) {
+        StructuredGraph g = super.preprocessOriginal(structuredGraph);
+        GraalState graal = new GraalState();
+        PhaseSuite<HighTierContext> highTier = graal.backend.getSuites().getDefaultSuites(graal.options).getHighTier();
+        highTier.apply(g, new HighTierContext(graal.providers, graal.backend.getSuites().getDefaultGraphBuilderSuite(), OptimisticOptimizations.ALL));
+        return g;
+    }
 }