[clang] [llvm] [AMDGPU] Change CF intrinsics lowering to reconverge on predecessors (PR #108596)
Nicolai Hähnle via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 16 05:51:12 PDT 2024
nhaehnle wrote:
I agree with Jay that this change isn't acceptable from a codegen quality point of view.
> Then it appeared that instructions loading the values spilled to the memory and used in the current block must be placed at the block beginning before they are used but after the point where EXEC mask is restored, since they are loading VGPRs and, hence, read EXEC. Hence, we had to consider all spilling opcodes to belong to the block prologue.
That does not seem logical. The restores themselves only read EXEC, they do not write it. So why should they be part of the prolog?
It seems the whole problem could be avoided by not considering VGPR restores to be part of the block prolog?
https://github.com/llvm/llvm-project/pull/108596
More information about the cfe-commits
mailing list