[llvm] [LLVM][NVPTX] Add NVPTX codegen support for clusterlaunchcontrol instruction (PR #134568)

Pradeep Kumar via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 7 06:26:11 PDT 2025


================
@@ -5381,4 +5381,50 @@ def int_nvvm_st_bulk_shared_cta : DefaultAttrsIntrinsic<[],
   [IntrArgMemOnly, IntrWriteMem,
     WriteOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>, ImmArg<ArgIndex<2>>]>;
 
+//
+// Cluster launch control
+//
+
+// clusterlaunchcontrol.try_cancel
+
+def int_nvvm_clusterlaunchcontrol_try_cancel_async
+    : Intrinsic<[], [llvm_ptr_ty, llvm_ptr_ty],
+                [IntrHasSideEffects, IntrArgMemOnly, NoCapture<ArgIndex<0>>, NoCapture<ArgIndex<1>>],
+                "llvm.nvvm.clusterlaunchcontrol.try_cancel.async">;
----------------
schwarzschild-radius wrote:

> the ptr addresses of the data and barrier are 16 byte aligned,
We can enforce that in the IR Verifier that the ptr addresses should be 16-byte aligned

> the generic pointers of data and barrier fall in the shared::cta memory window
Since it is runtime value, I am not sure how we can enforce in from the compiler side

CC += @Artem-B / @durga4github for comments


https://github.com/llvm/llvm-project/pull/134568


More information about the llvm-commits mailing list