- llvm.amdgcn.endpgm is added to enable "abort" support.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | ||
---|---|---|
1581 | Mayby also IntrCold? |
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | ||
---|---|---|
1581 | Good point! |
Comment Actions
The real effect of this intrinsic seems not changed if it's moved somewhere. For example,
convert this
if (a || b) endpgm();
to
if (a) endpgm(); else if (b) endpgm();
no matter a or b are divergent or not, it works the same as the original one as s_endpgm is a scalar instruction. Ofc, if we really doubt bad things may happen, I could add that for safety as we definitely will revise this later.
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | ||
---|---|---|
1580 | The intrinsic def needs a comment. Is it supposed to literally just generate an s_endpgm instruction, or is it something more high-level? |
The intrinsic def needs a comment. Is it supposed to literally just generate an s_endpgm instruction, or is it something more high-level?