[PATCH] D95436: [AMDGPU] Add IntrWillReturn to three intrinsics
Sebastian Neubauer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 26 04:13:36 PST 2021
sebastian-ne created this revision.
sebastian-ne added reviewers: arsenm, critson, foad.
Herald added subscribers: kerbowa, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
sebastian-ne requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.
None of these can terminate a wave or lane.
With these, all intrinsic are IntrWillReturn except those that change
exec or can terminate the wave.
Not marking intrinsics as WillReturn may prevent optimizations in the
future: https://lists.llvm.org/pipermail/llvm-dev/2021-January/148047.html
int_r600_kill is marked as IntrWillReturn, is that correct?
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D95436
Files:
llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Index: llvm/include/llvm/IR/IntrinsicsAMDGPU.td
===================================================================
--- llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+++ llvm/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -1204,7 +1204,7 @@
llvm_i32_ty, // vindex(VGPR)
llvm_i32_ty, // offset(SGPR/VGPR/imm)
llvm_i1_ty], // slc(imm)
- [ImmArg<ArgIndex<4>>], "", [SDNPMemOperand]>,
+ [ImmArg<ArgIndex<4>>, IntrWillReturn], "", [SDNPMemOperand]>,
AMDGPURsrcIntrinsic<1, 0>;
// Legacy form of the intrinsic. raw and struct forms should be preferred.
@@ -1289,7 +1289,7 @@
def int_amdgcn_s_setreg :
GCCBuiltin<"__builtin_amdgcn_s_setreg">,
Intrinsic<[], [llvm_i32_ty, llvm_i32_ty],
- [IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]
+ [IntrNoMem, IntrHasSideEffects, IntrWillReturn, ImmArg<ArgIndex<0>>]
>;
// int_amdgcn_s_getpc is provided to allow a specific style of position
@@ -1725,7 +1725,7 @@
Intrinsic<[llvm_v4i32_ty],
[llvm_anyint_ty, llvm_float_ty, llvm_v4f32_ty, llvm_anyvector_ty,
LLVMMatchType<1>, llvm_v4i32_ty],
- [IntrReadMem]>;
+ [IntrReadMem, IntrWillReturn]>;
//===----------------------------------------------------------------------===//
// Deep learning intrinsics.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95436.319266.patch
Type: text/x-patch
Size: 1281 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210126/a9d659cf/attachment.bin>
More information about the llvm-commits
mailing list