[reg-alloc] Try to use same register after deferred-fixed range

Change-Id: I0dff07c33d55a3e1b8b16e095d771337c51876ba
Bug: v8:9088
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682029
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62466}
This commit is contained in:
Sigurd Schneider 2019-06-28 16:39:07 +02:00 committed by Commit Bot
parent 364ce91e9d
commit caf3c4b8b9

View File

@ -3477,6 +3477,8 @@ void LinearScanAllocator::UpdateDeferredFixedRanges(SpillMode spill_mode,
RegisterName(other->assigned_register()));
LiveRange* split_off =
other->SplitAt(next_start, data()->allocation_zone());
// Try to get the same register after the deferred block.
split_off->set_controlflow_hint(other->assigned_register());
DCHECK_NE(split_off, other);
AddToUnhandled(split_off);
update_caches(other);