Commit 1338ae97 authored by tebbi's avatar tebbi Committed by Commit bot

[turbofan] always run value numbering last to patch unpredictable reductions

This extends https://codereview.chromium.org/2728983002 to all of Turbofan, for the same reasons: The machine reducer is unreliable in signalling changed nodes and value numbering is unpredictable if not always re-run on changed nodes. Putting value numbering last in all graph reducers patches this.

BUG=v8:6036
R=mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2730753003
Cr-Commit-Position: refs/heads/master@{#43617}
parent 47276d3d
......@@ -1041,9 +1041,9 @@ struct EarlyOptimizationPhase {
AddReducer(data, &graph_reducer, &dead_code_elimination);
AddReducer(data, &graph_reducer, &simple_reducer);
AddReducer(data, &graph_reducer, &redundancy_elimination);
AddReducer(data, &graph_reducer, &value_numbering);
AddReducer(data, &graph_reducer, &machine_reducer);
AddReducer(data, &graph_reducer, &common_reducer);
AddReducer(data, &graph_reducer, &value_numbering);
graph_reducer.ReduceGraph();
}
};
......@@ -1141,8 +1141,8 @@ struct LoadEliminationPhase {
AddReducer(data, &graph_reducer, &dead_code_elimination);
AddReducer(data, &graph_reducer, &redundancy_elimination);
AddReducer(data, &graph_reducer, &load_elimination);
AddReducer(data, &graph_reducer, &value_numbering);
AddReducer(data, &graph_reducer, &common_reducer);
AddReducer(data, &graph_reducer, &value_numbering);
graph_reducer.ReduceGraph();
}
};
......@@ -1181,11 +1181,11 @@ struct LateOptimizationPhase {
TailCallOptimization tco(data->common(), data->graph());
AddReducer(data, &graph_reducer, &branch_condition_elimination);
AddReducer(data, &graph_reducer, &dead_code_elimination);
AddReducer(data, &graph_reducer, &value_numbering);
AddReducer(data, &graph_reducer, &machine_reducer);
AddReducer(data, &graph_reducer, &common_reducer);
AddReducer(data, &graph_reducer, &select_lowering);
AddReducer(data, &graph_reducer, &tco);
AddReducer(data, &graph_reducer, &value_numbering);
graph_reducer.ReduceGraph();
}
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment