[llvm] [AMDGPU] When allocating VGPRs, VGPR spills are not part of the prologue (PR #109439)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 9 07:54:41 PDT 2024
alex-t wrote:
https://github.com/llvm/llvm-project/pull/111496 addresses the issue caused by the scenario when WWM reload must be inserted before the block prologue because they reload operands for the prologue instructions. This breaks the prologue and consequent VGPR reloads are inserted before the EXEC restoring.
Please note, that the solution taken in https://github.com/llvm/llvm-project/pull/111496 takes us back to the same point where we started a while ago concerning the SplitKit assertion because of the interference.
Please correct me if I am wrong, but the WWM reload creates a new live interval defining the VGPR. This interval starts inside the prologue (given that WWM reloads belong to the prologue). So, if we're splitting some VReg interval across the VGPR defined by the WWM reload, the COPY insertion point will appear after the prologue and, hence, will interfere.
https://github.com/llvm/llvm-project/pull/109439
More information about the llvm-commits
mailing list