[PATCH] D96869: [AMDGPU] Fix saving fp and bp
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 3 17:42:04 PST 2021
arsenm added a comment.
In D96869#2601792 <https://reviews.llvm.org/D96869#2601792>, @critson wrote:
> In D96869#2600444 <https://reviews.llvm.org/D96869#2600444>, @sebastian-ne wrote:
>
>> In D96869#2600088 <https://reviews.llvm.org/D96869#2600088>, @arsenm wrote:
>>
>>>> 1. `exec != 0` in the function prolog and epilog?
>>>
>>> Yes (at least for the prolog). Allowing functions to kill exec and return is an open question. We have to assume a call to an arbitrary function will have any of the problematic cases that can't run with exec=0.
>>
>> Thanks. I’ll leave it as it is then, because we are not sure about the epilog.
>
> If the only way lanes can be killed is llvm.amdgcn.kill (or demote) then epilog will never be reached with EXEC=0 as kill now immediately terminates a shader if all lanes are dead (or helpers). Are there other mechanisms that reduce EXEC? Inline ASM?
Inline asm theoretically could, but we don't even attempt to handle exec modifications on it. We could also just define the ABI to make that an invalid use
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96869/new/
https://reviews.llvm.org/D96869
More information about the llvm-commits
mailing list