[llvm] [AMDGPU] Intrinsic for launching whole wave functions (PR #145859)
Diana Picus via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 5 00:56:43 PDT 2025
================
@@ -2587,6 +2587,18 @@ def int_amdgcn_cs_chain:
],
[IntrConvergent, IntrNoReturn, ImmArg<ArgIndex<4>>]>;
+// Run a function with all the lanes enabled. Only direct calls are allowed. The
+// first argument is the callee, which must have the `amdgpu_gfx_whole_wave`
+// calling convention and must not be variadic. The remaining arguments to the
+// callee are taken from the arguments passed to the intrinsic. Lanes that are
+// inactive at the point of the call will receive poison. The return value is
+// the return value of the callee for the active lanes and poison for the
+// inactive ones.
+def int_amdgcn_call_whole_wave:
+ Intrinsic<[llvm_any_ty], // The return type of the callee.
+ [llvm_anyptr_ty, // The callee.
+ llvm_vararg_ty], // The arguments to the callee.
+ [IntrConvergent, IntrNoReturn, IntrNoCallback, IntrNoFree]>;
----------------
rovka wrote:
Yikes, thanks for catching that! <3
https://github.com/llvm/llvm-project/pull/145859
More information about the llvm-commits
mailing list