src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.microbenchmarks/src/org/graalvm/compiler/microbenchmarks/graal/util/ScheduleState.java
--- 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;
+ }
}