Commit 201e53fb authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Run load elimination prior to escape analysis.

Once the escape analysis ran, it'll be harder to eliminate a bunch of
checks (for example map checks, which would currently block escape
analysis, but that's about to be fixed). Also the escape analysis will
have a lot less stress after the load elimination, which takes care of
redundant loads and checks already.

R=mstarzinger@chromium.org
BUG=v8:5448

Review-Url: https://codereview.chromium.org/2427533002
Cr-Commit-Position: refs/heads/master@{#40351}
parent 6755b55a
......@@ -1569,14 +1569,16 @@ bool PipelineImpl::CreateGraph() {
RunPrintAndVerify("Loop peeled");
}
if (FLAG_turbo_escape) {
Run<EscapeAnalysisPhase>();
RunPrintAndVerify("Escape Analysed");
}
if (!info()->shared_info()->asm_function()) {
if (FLAG_turbo_load_elimination) {
Run<LoadEliminationPhase>();
RunPrintAndVerify("Load eliminated");
}
if (!info()->shared_info()->asm_function() && FLAG_turbo_load_elimination) {
Run<LoadEliminationPhase>();
RunPrintAndVerify("Load eliminated");
if (FLAG_turbo_escape) {
Run<EscapeAnalysisPhase>();
RunPrintAndVerify("Escape Analysed");
}
}
}
......
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