Index: src/compiler/pipeline.cc |
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc |
index 6b36cdcf2e858e151ca941d2aa4c880d7c90ae97..0921793f606f61845d9c75ddd206882244e103a1 100644 |
--- a/src/compiler/pipeline.cc |
+++ b/src/compiler/pipeline.cc |
@@ -1066,12 +1066,21 @@ struct LoadEliminationPhase { |
void Run(PipelineData* data, Zone* temp_zone) { |
JSGraphReducer graph_reducer(data->jsgraph(), temp_zone); |
+ BranchElimination branch_condition_elimination(&graph_reducer, |
+ data->jsgraph(), temp_zone); |
+ DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(), |
+ data->common()); |
RedundancyElimination redundancy_elimination(&graph_reducer, temp_zone); |
LoadElimination load_elimination(&graph_reducer, temp_zone); |
ValueNumberingReducer value_numbering(temp_zone, data->graph()->zone()); |
+ CommonOperatorReducer common_reducer(&graph_reducer, data->graph(), |
+ data->common(), data->machine()); |
+ AddReducer(data, &graph_reducer, &branch_condition_elimination); |
+ 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); |
graph_reducer.ReduceGraph(); |
} |
}; |