[turboshaft] fix single-block loop bug
Bug: v8:12783 Change-Id: Ia4aaf245428dd63be09a33bfb684f0573f6b9296 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913084 Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#83420}
This commit is contained in:
parent
f21ae18515
commit
d792c27353
@ -290,12 +290,13 @@ struct OptimizationPhase<Analyzer, Assembler>::Impl {
|
||||
|
||||
V8_INLINE OpIndex ReduceGoto(const GotoOp& op) {
|
||||
Block* destination = MapToNewGraph(op.destination->index());
|
||||
assembler.current_block()->SetOrigin(current_input_block);
|
||||
assembler.Goto(destination);
|
||||
if (destination->IsBound()) {
|
||||
DCHECK(destination->IsLoop());
|
||||
FixLoopPhis(destination);
|
||||
}
|
||||
assembler.current_block()->SetOrigin(current_input_block);
|
||||
return assembler.Goto(destination);
|
||||
return OpIndex::Invalid();
|
||||
}
|
||||
V8_INLINE OpIndex ReduceBranch(const BranchOp& op) {
|
||||
Block* if_true = MapToNewGraph(op.if_true->index());
|
||||
|
Loading…
Reference in New Issue
Block a user