diff --git a/src/amd/compiler/aco_ssa_elimination.cpp b/src/amd/compiler/aco_ssa_elimination.cpp index a1c3c4ac3bf..5bd545c7460 100644 --- a/src/amd/compiler/aco_ssa_elimination.cpp +++ b/src/amd/compiler/aco_ssa_elimination.cpp @@ -270,8 +270,12 @@ try_remove_simple_block(ssa_elimination_ctx& ctx, Block* block) assert(false); } - if (branch.target[0] == branch.target[1]) + if (branch.target[0] == branch.target[1]) { + while (branch.operands.size()) + branch.operands.pop_back(); + branch.opcode = aco_opcode::p_branch; + } for (unsigned i = 0; i < pred.linear_succs.size(); i++) if (pred.linear_succs[i] == block->index)