From 5e89be331f6d00cf15278c50277cce2e1b5f769b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 25 Mar 2026 14:18:54 +0100 Subject: [PATCH] aco/lower_branches: Fix try_rotate_latch_block() Found by inspection. Fixes: 97f095f6e060e9a3bbddf7536a734ccb20b9eeb8 ('aco/lower_branches: Add try_rotate_latch_block() optimization') Part-of: --- src/amd/compiler/aco_lower_branches.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_lower_branches.cpp b/src/amd/compiler/aco_lower_branches.cpp index f4d36566f46..2da300780a9 100644 --- a/src/amd/compiler/aco_lower_branches.cpp +++ b/src/amd/compiler/aco_lower_branches.cpp @@ -599,7 +599,8 @@ try_rotate_latch_block(branch_ctx& ctx, Block& header) continue; } else if (pred.linear_succs[0] == block.index) { /* Check if there is a fall-through path for the jump target. */ - if (block.index > pred.linear_succs[1] || (pred.linear_succs[1] & block_kind_loop_latch)) + if (block.index > pred.linear_succs[1] || + (ctx.program->blocks[pred.linear_succs[1]].kind & block_kind_loop_latch)) return; for (unsigned j = block.index + 1; j < pred.linear_succs[1]; j++) {