Commit 0e8f9cb2 authored by Ross McIlroy's avatar Ross McIlroy Committed by V8 LUCI CQ

[Turboprop] Avoid early/late graph trimming in TurboProp

The early/late graph trimming phases remove dead nodes from the graph,
however these dead nodes don't have significant impact on the quality of
the codegen or the performance of the rest of the pipeline.

BUG=v8:9684

Change-Id: I1e797b520accc19ea59f2a430433e5b489c10e47
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2897889Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74640}
parent b457c684
......@@ -2645,8 +2645,10 @@ bool PipelineImpl::CreateGraph() {
RunPrintAndVerify(InliningPhase::phase_name(), true);
// Remove dead->live edges from the graph.
Run<EarlyGraphTrimmingPhase>();
RunPrintAndVerify(EarlyGraphTrimmingPhase::phase_name(), true);
if (!data->info()->IsTurboprop()) {
Run<EarlyGraphTrimmingPhase>();
RunPrintAndVerify(EarlyGraphTrimmingPhase::phase_name(), true);
}
// Determine the Typer operation flags.
{
......@@ -3410,8 +3412,10 @@ void PipelineImpl::ComputeScheduledGraph() {
// We should only schedule the graph if it is not scheduled yet.
DCHECK_NULL(data->schedule());
Run<LateGraphTrimmingPhase>();
RunPrintAndVerify(LateGraphTrimmingPhase::phase_name(), true);
if (!data->info()->IsTurboprop()) {
Run<LateGraphTrimmingPhase>();
RunPrintAndVerify(LateGraphTrimmingPhase::phase_name(), true);
}
Run<ComputeSchedulePhase>();
TraceScheduleAndVerify(data->info(), data, data->schedule(), "schedule");
......
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