Commit 62ae1889 authored by Toon Verwaest's avatar Toon Verwaest Committed by V8 LUCI CQ

[maglev] Drop double merge in AllocateControlNode

This should not be necessary, but something was failing previously
when removed. Now that we have the blocklist just merging once seems
to work.

Bug: v8:7700
Change-Id: I6534506263ae739f28043eef2dee7aba8f28eadf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3717983Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81294}
parent f625ed4e
......@@ -685,18 +685,6 @@ void StraightForwardRegisterAllocator::AllocateControlNode(ControlNode* node,
for (Input& input : *node) AssignFixedInput(input);
AssignFixedTemporaries(node);
if (node->Is<JumpToInlined>()) {
// Do nothing.
// TODO(leszeks): DCHECK any useful invariants here.
} else if (auto unconditional = node->TryCast<UnconditionalControlNode>()) {
InitializeBranchTargetPhis(block->predecessor_id(),
unconditional->target());
// Merge register values. Values only flowing into phis and not being
// independently live will be killed as part of the merge.
MergeRegisterValues(unconditional, unconditional->target(),
block->predecessor_id());
}
for (Input& input : *node) AssignArbitraryRegisterInput(input);
AssignArbitraryTemporaries(node);
......@@ -717,6 +705,8 @@ void StraightForwardRegisterAllocator::AllocateControlNode(ControlNode* node,
} else if (auto unconditional = node->TryCast<UnconditionalControlNode>()) {
// Merge register values. Values only flowing into phis and not being
// independently live will be killed as part of the merge.
InitializeBranchTargetPhis(block->predecessor_id(),
unconditional->target());
MergeRegisterValues(unconditional, unconditional->target(),
block->predecessor_id());
} else if (auto conditional = node->TryCast<ConditionalControlNode>()) {
......
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