[PATCH] D97427: [AMDGPU] Do not annotate an else branch if there is a kill

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 25 06:19:12 PST 2021


arsenm added a comment.

In D97427#2587522 <https://reviews.llvm.org/D97427#2587522>, @critson wrote:

> In D97427#2587457 <https://reviews.llvm.org/D97427#2587457>, @arsenm wrote:
>
>> In D97427#2587455 <https://reviews.llvm.org/D97427#2587455>, @critson wrote:
>>
>>> Since I don't really like kills being terminators either, I am going to investigate changing that before pushing this further.
>>
>> No, no. The exact opposite. My problem is the IR kill intrinsic is not a terminator. In the MIR exec modifications should be terminators as that's the only real mechanism for ensuring correct spill placement around them
>
> Ah sorry, I did indeed misread your "isn't" as "is".
> Can intrinsics even be terminators?

Almost. Recently the callbr instruction was added. I was thinking about using it for kills, but I haven't thought about this too carefully

> Or are you suggesting that we should split the block at the kill in the IR level very early in the backend?

My initial thought is splitting blocks in the IR wouldn't be helpful. IR transforms are more likely to glue these blocks right back together again. Overall I'm more interested in moving towards the wave transform control flow lowering rather than thinking about how to improve the current IR pass flow


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97427/new/

https://reviews.llvm.org/D97427



More information about the llvm-commits mailing list