changeset 8657:63400866de15

pipeline: include PushNodesThroughPi according to % mx vm -G:Meter= | grep NodesPushed 3774 nodes (836 ReadNodes, 2938 IsNullNodes) are pushed.
author Bernhard Urban <bernhard.urban@jku.at>
date Fri, 05 Apr 2013 16:23:01 +0200
parents 369710426f74
children e18f7f7ce7a9
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java
diffstat 2 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Fri Apr 05 15:54:57 2013 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java	Fri Apr 05 16:23:01 2013 +0200
@@ -179,6 +179,13 @@
 
         new LoweringPhase(target, runtime, replacements, assumptions).apply(graph);
 
+        if (GraalOptions.OptPushThroughPi) {
+            new PushNodesThroughPi().apply(graph);
+            if (GraalOptions.OptCanonicalizer) {
+                new CanonicalizerPhase(runtime, assumptions).apply(graph);
+            }
+        }
+
         if (GraalOptions.OptFloatingReads) {
             int mark = graph.getMark();
             new FloatingReadPhase().apply(graph);
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Fri Apr 05 15:54:57 2013 +0200
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Fri Apr 05 16:23:01 2013 +0200
@@ -203,6 +203,8 @@
     public static boolean OptEliminatePartiallyRedundantGuards = true;
     public static boolean OptFilterProfiledTypes             = true;
     public static boolean OptDevirtualizeInvokesOptimistically = true;
+    public static boolean OptPushThroughPi                   = true;
+
 
     // Intrinsification settings
     public static boolean IntrinsifyObjectClone              = ____;