Commit b18b3877 authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Run value numbering as part of typed lowering.

We can already benefit from value numbering (pure) nodes at this point
in the graph, because it makes some later passes more efficient and
reduces the graph size early.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2125613002
Cr-Commit-Position: refs/heads/master@{#37523}
parent 2620c426
......@@ -900,6 +900,7 @@ struct TypedLoweringPhase {
data->info()->is_deoptimization_enabled()
? JSIntrinsicLowering::kDeoptimizationEnabled
: JSIntrinsicLowering::kDeoptimizationDisabled);
ValueNumberingReducer value_numbering(temp_zone);
SimplifiedOperatorReducer simple_reducer(&graph_reducer, data->jsgraph());
CheckpointElimination checkpoint_elimination(&graph_reducer);
CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
......@@ -912,6 +913,7 @@ struct TypedLoweringPhase {
AddReducer(data, &graph_reducer, &typed_lowering);
AddReducer(data, &graph_reducer, &intrinsic_lowering);
AddReducer(data, &graph_reducer, &load_elimination);
AddReducer(data, &graph_reducer, &value_numbering);
AddReducer(data, &graph_reducer, &simple_reducer);
AddReducer(data, &graph_reducer, &checkpoint_elimination);
AddReducer(data, &graph_reducer, &common_reducer);
......
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