[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: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62100}
This commit is contained in:
Georg Schmid 2019-06-11 16:26:05 +02:00 committed by Commit Bot
parent 750e48ea67
commit f8ec0ac5a1
2 changed files with 18 additions and 0 deletions

View File

@ -75,9 +75,15 @@ void OptimizedCompilationInfo::ConfigureFlags() {
break;
case Code::BYTECODE_HANDLER:
SetFlag(kCalledWithCodeStartRegister);
if (FLAG_turbo_splitting) {
MarkAsSplittingEnabled();
}
break;
case Code::BUILTIN:
case Code::STUB:
if (FLAG_turbo_splitting) {
MarkAsSplittingEnabled();
}
#if ENABLE_GDB_JIT_INTERFACE && DEBUG
MarkAsSourcePositionsEnabled();
#endif // ENABLE_GDB_JIT_INTERFACE && DEBUG

View File

@ -1572,8 +1572,20 @@ struct CsaEarlyOptimizationPhase {
void Run(PipelineData* data, Zone* temp_zone) {
GraphReducer graph_reducer(temp_zone, data->graph(),
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(),
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);
graph_reducer.ReduceGraph();
}