[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