Commit db5cf84a authored by mvstanton's avatar mvstanton Committed by Commit bot

[Turbofan] Run loop peeling concurrently.

BUG=v8:5428

Review-Url: https://codereview.chromium.org/2613463002
Cr-Commit-Position: refs/heads/master@{#42038}
parent d4b5bfe3
...@@ -1542,14 +1542,6 @@ bool PipelineImpl::CreateGraph() { ...@@ -1542,14 +1542,6 @@ bool PipelineImpl::CreateGraph() {
// Lower JSOperators where we can determine types. // Lower JSOperators where we can determine types.
Run<TypedLoweringPhase>(); Run<TypedLoweringPhase>();
RunPrintAndVerify("Lowered typed"); RunPrintAndVerify("Lowered typed");
if (data->info()->is_loop_peeling_enabled()) {
Run<LoopPeelingPhase>();
RunPrintAndVerify("Loops peeled", true);
} else {
Run<LoopExitEliminationPhase>();
RunPrintAndVerify("Loop exits eliminated", true);
}
} }
// Do some hacky things to prepare for the optimization phase. // Do some hacky things to prepare for the optimization phase.
...@@ -1564,6 +1556,14 @@ bool PipelineImpl::CreateGraph() { ...@@ -1564,6 +1556,14 @@ bool PipelineImpl::CreateGraph() {
bool PipelineImpl::OptimizeGraph(Linkage* linkage) { bool PipelineImpl::OptimizeGraph(Linkage* linkage) {
PipelineData* data = this->data_; PipelineData* data = this->data_;
if (data->info()->is_loop_peeling_enabled()) {
Run<LoopPeelingPhase>();
RunPrintAndVerify("Loops peeled", true);
} else {
Run<LoopExitEliminationPhase>();
RunPrintAndVerify("Loop exits eliminated", true);
}
if (!data->is_asm()) { if (!data->is_asm()) {
if (FLAG_turbo_load_elimination) { if (FLAG_turbo_load_elimination) {
Run<LoadEliminationPhase>(); Run<LoadEliminationPhase>();
......
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