Commit 5308a999 authored by machenbach's avatar machenbach Committed by Commit bot

Revert of [Turbofan] Fix perf regression (patchset #1 id:1 of...

Revert of [Turbofan] Fix perf regression (patchset #1 id:1 of https://codereview.chromium.org/1412123009/ )

Reason for revert:
[sheriff] breaks benchmarks:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/4998

Original issue's description:
> [Turbofan] Fix perf regression introduced by per-range change.
>
> When the range ends just at the gap of a non-deferred block, the last
> instruction the range covers is in the predecessor. If that predecessor is
> a deferred block, before this CL, we would splinter the remainder of the
> range all the way to the end. That leads to inefficient codegen, because
> we still want a split inside the deferred block.
>
> Also, opportunistically added a trace before we splinter, for better
> diagnostics.
>
> BUG= chromium:546416
> LOG=N
>
> Committed: https://crrev.com/32b6e085e74a8fcf94a01d20740fe4fdede07a86
> Cr-Commit-Position: refs/heads/master@{#31529}

TBR=bmeurer@chromium.org,jarin@chromium.org,mtrofin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:546416

Review URL: https://codereview.chromium.org/1412893007

Cr-Commit-Position: refs/heads/master@{#31531}
parent b3c719eb
......@@ -51,8 +51,6 @@ void CreateSplinter(TopLevelLiveRange *range, RegisterAllocationData *data,
range->SetSplinter(splinter);
}
Zone *zone = data->allocation_zone();
TRACE("creating splinter for range %d between %d and %d\n", range->vreg(),
start.ToInstructionIndex(), end.ToInstructionIndex());
range->Splinter(start, end, zone);
}
}
......@@ -114,9 +112,8 @@ void SplinterLiveRange(TopLevelLiveRange *range, RegisterAllocationData *data) {
interval = next_interval;
}
// When the range ends in deferred blocks, first_cut will be valid here.
// Splinter from there to the last instruction that was in a deferred block.
if (first_cut.IsValid()) {
CreateSplinter(range, data, first_cut, last_cut);
CreateSplinter(range, data, first_cut, range->End());
}
}
} // namespace
......
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