From bd93e8372d0fdcbdfba66faf7d037b08a5efa473 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Wed, 28 Feb 2024 17:34:59 +0100 Subject: [PATCH] aco/post-ra: assume scc is going to be overwritten by phis at end of blocks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: mesa-stable Reviewed-by: Timur Kristóf Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_optimizer_postRA.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/amd/compiler/aco_optimizer_postRA.cpp b/src/amd/compiler/aco_optimizer_postRA.cpp index 9c0c46c952d..60b20b3cd72 100644 --- a/src/amd/compiler/aco_optimizer_postRA.cpp +++ b/src/amd/compiler/aco_optimizer_postRA.cpp @@ -783,6 +783,12 @@ optimize_postRA(Program* program) for (aco_ptr& instr : block.instructions) process_instruction(ctx, instr); + + /* SCC might get overwritten by copies or swaps from parallelcopies + * inserted by SSA-elimination for linear phis. + */ + if (!block.scc_live_out) + ctx.instr_idx_by_regs[block.index][scc] = overwritten_unknown_instr; } /* Cleanup pass