Reviewers: titzer,

Description:
Reduce redundant phi nodes after graph building.

[email protected]

Please review this at https://codereview.chromium.org/461003002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+12, -2 lines):
  M src/compiler/pipeline.cc
  M test/benchmarks/benchmarks.status


Index: src/compiler/pipeline.cc
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
index fa0ff173b25703d3994b2d428160c953ee14c269..2ea840c58eda932f1f0f521c3c50f07053854bfd 100644
--- a/src/compiler/pipeline.cc
+++ b/src/compiler/pipeline.cc
@@ -14,6 +14,7 @@
 #include "src/compiler/js-context-specialization.h"
 #include "src/compiler/js-generic-lowering.h"
 #include "src/compiler/js-typed-lowering.h"
+#include "src/compiler/phi-reducer.h"
 #include "src/compiler/register-allocator.h"
 #include "src/compiler/schedule.h"
 #include "src/compiler/scheduler.h"
@@ -144,6 +145,17 @@ Handle<Code> Pipeline::GenerateCode() {
     graph_builder.CreateGraph();
     context_node = graph_builder.GetFunctionContext();
   }
+  {
+    PhaseStats phi_reducer_stats(info(), PhaseStats::CREATE_GRAPH,
+                                 "phi reduction");
+    PhiReducer phi_reducer;
+    GraphReducer graph_reducer(&graph);
+    graph_reducer.AddReducer(&phi_reducer);
+    graph_reducer.ReduceGraph();
+ // TODO(mstarzinger): Running reducer once ought to be enough for everyone.
+    graph_reducer.ReduceGraph();
+    graph_reducer.ReduceGraph();
+  }

   VerifyAndPrintGraph(&graph, "Initial untyped");

Index: test/benchmarks/benchmarks.status
diff --git a/test/benchmarks/benchmarks.status b/test/benchmarks/benchmarks.status index 8dab238b182af519eab2ebc18e5066952659d04c..6073132e57fc9d8e484bf32db1147213d3ed66bd 100644
--- a/test/benchmarks/benchmarks.status
+++ b/test/benchmarks/benchmarks.status
@@ -32,7 +32,5 @@
   'octane/mandreel': [PASS, NO_VARIANTS, ['mode == debug', SKIP]],
   # TODO(mstarzinger,ishell): Timeout with TF in predictable mode.
   'octane/richards': [PASS, NO_VARIANTS],
-  # TODO(mstarzinger): Out of mem with TF.
-  'octane/zlib': [PASS, NO_VARIANTS],
 }],  # ALWAYS
 ]


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to