[llvm] [AMDGPU] Intrinsic for launching whole wave functions (PR #145859)
Nicolai Hähnle via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 4 12:14:44 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]>;
----------------
nhaehnle wrote:
```suggestion
[IntrConvergent]>;
```
https://github.com/llvm/llvm-project/pull/145859
More information about the llvm-commits
mailing list