Commit f8ec0ac5 authored by Georg Schmid's avatar Georg Schmid Committed by Commit Bot

[csa] Enable more early CSA optimizations

R=tebbi@chromium.org

Change-Id: Iab4b0a69028386e79b9abdbcaee7fdb10871042f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1653119
Commit-Queue: Georg Schmid <gsps@google.com>
Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62100}
parent 750e48ea
...@@ -75,9 +75,15 @@ void OptimizedCompilationInfo::ConfigureFlags() { ...@@ -75,9 +75,15 @@ void OptimizedCompilationInfo::ConfigureFlags() {
break; break;
case Code::BYTECODE_HANDLER: case Code::BYTECODE_HANDLER:
SetFlag(kCalledWithCodeStartRegister); SetFlag(kCalledWithCodeStartRegister);
if (FLAG_turbo_splitting) {
MarkAsSplittingEnabled();
}
break; break;
case Code::BUILTIN: case Code::BUILTIN:
case Code::STUB: case Code::STUB:
if (FLAG_turbo_splitting) {
MarkAsSplittingEnabled();
}
#if ENABLE_GDB_JIT_INTERFACE && DEBUG #if ENABLE_GDB_JIT_INTERFACE && DEBUG
MarkAsSourcePositionsEnabled(); MarkAsSourcePositionsEnabled();
#endif // ENABLE_GDB_JIT_INTERFACE && DEBUG #endif // ENABLE_GDB_JIT_INTERFACE && DEBUG
......
...@@ -1572,8 +1572,20 @@ struct CsaEarlyOptimizationPhase { ...@@ -1572,8 +1572,20 @@ struct CsaEarlyOptimizationPhase {
void Run(PipelineData* data, Zone* temp_zone) { void Run(PipelineData* data, Zone* temp_zone) {
GraphReducer graph_reducer(temp_zone, data->graph(), GraphReducer graph_reducer(temp_zone, data->graph(),
data->jsgraph()->Dead()); data->jsgraph()->Dead());
BranchElimination branch_condition_elimination(&graph_reducer,
data->jsgraph(), temp_zone);
DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
data->common(), temp_zone);
CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
data->broker(), data->common(),
data->machine(), temp_zone);
ValueNumberingReducer value_numbering(temp_zone, data->graph()->zone());
CsaLoadElimination load_elimination(&graph_reducer, data->jsgraph(), CsaLoadElimination load_elimination(&graph_reducer, data->jsgraph(),
temp_zone); temp_zone);
AddReducer(data, &graph_reducer, &branch_condition_elimination);
AddReducer(data, &graph_reducer, &dead_code_elimination);
AddReducer(data, &graph_reducer, &common_reducer);
AddReducer(data, &graph_reducer, &value_numbering);
AddReducer(data, &graph_reducer, &load_elimination); AddReducer(data, &graph_reducer, &load_elimination);
graph_reducer.ReduceGraph(); 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