Revision: 24656
Author: [email protected]
Date: Thu Oct 16 10:50:21 2014 UTC
Log: [turbofan] Run value numbering after SimplifiedLowering.
Running ValueNumberingReducer together with ChangeLowering causes
trouble with the current GraphReducer and makes GVN ineffective, so
running it before we get to change lowering works around that well-known
(phase ordering) problem for now.
[email protected]
Review URL: https://codereview.chromium.org/660733003
https://code.google.com/p/v8/source/detail?r=24656
Modified:
/branches/bleeding_edge/src/compiler/pipeline.cc
=======================================
--- /branches/bleeding_edge/src/compiler/pipeline.cc Wed Oct 15 11:38:04
2014 UTC
+++ /branches/bleeding_edge/src/compiler/pipeline.cc Thu Oct 16 10:50:21
2014 UTC
@@ -316,6 +316,12 @@
SourcePosition::Unknown());
SimplifiedLowering lowering(&jsgraph);
lowering.LowerAllNodes();
+ ValueNumberingReducer vn_reducer(zone());
+ SimplifiedOperatorReducer simple_reducer(&jsgraph);
+ GraphReducer graph_reducer(&graph);
+ graph_reducer.AddReducer(&simple_reducer);
+ graph_reducer.AddReducer(&vn_reducer);
+ graph_reducer.ReduceGraph();
VerifyAndPrintGraph(&graph, "Lowered simplified");
}
@@ -327,13 +333,11 @@
SourcePosition::Unknown());
Linkage linkage(info());
ValueNumberingReducer vn_reducer(zone());
- SimplifiedOperatorReducer simple_reducer(&jsgraph);
ChangeLowering lowering(&jsgraph, &linkage);
MachineOperatorReducer mach_reducer(&jsgraph);
GraphReducer graph_reducer(&graph);
// TODO(titzer): Figure out if we should run all reducers at once
here.
graph_reducer.AddReducer(&vn_reducer);
- graph_reducer.AddReducer(&simple_reducer);
graph_reducer.AddReducer(&lowering);
graph_reducer.AddReducer(&mach_reducer);
graph_reducer.ReduceGraph();
--
--
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.