Commit dae6320d authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Don't connect regular Phis into the effect chain.

When the effect control linearizer tries to clone a branch, it
accidentially connected regular Phis into the effect chain.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2146553006
Cr-Commit-Position: refs/heads/master@{#37698}
parent 2a7b64d1
...@@ -276,8 +276,10 @@ void TryCloneBranch(Node* node, BasicBlock* block, Graph* graph, ...@@ -276,8 +276,10 @@ void TryCloneBranch(Node* node, BasicBlock* block, Graph* graph,
edge.UpdateTo((control == matcher.IfTrue()) ? phi_true : phi_false); edge.UpdateTo((control == matcher.IfTrue()) ? phi_true : phi_false);
} }
} }
true_block_data->current_effect = phi_true; if (phi->opcode() == IrOpcode::kEffectPhi) {
false_block_data->current_effect = phi_false; true_block_data->current_effect = phi_true;
false_block_data->current_effect = phi_false;
}
phi->Kill(); phi->Kill();
} }
// Fix up IfTrue and IfFalse and kill all dead nodes. // Fix up IfTrue and IfFalse and kill all dead nodes.
......
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