[llvm] [AMDGCN][SIWholeQuadMode] Handle case when SI_KILL_I1_TERMINATOR -1,0 is not the only terminator (PR #122922)

Juan Manuel Martinez CaamaƱo via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 15 00:54:31 PST 2025


jmmartinez wrote:

> I don't understand this. How can it be correct to remove an unconditional branch? (I understand that it was followed by some other terminator, but that other terminator should never be reached.)

I think it's because the `SI_KILL_I1_Terminator` is not a "branch" since it doesn't have a destination block. It's a terminator that falls through to the next block.

I wonder if we should also get rid of the trivial kills earlier, for example, when lowering the `SI_KILL_I1_Pseudo` into the terminator variant; or even at IR level.

https://github.com/llvm/llvm-project/pull/122922


More information about the llvm-commits mailing list