[llvm] [LLVM][NVPTX] Add NVPTX codegen support for clusterlaunchcontrol instruction (PR #134568)
Alex MacLean via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 7 09:19:58 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">;
----------------
AlexMaclean wrote:
If the generic pointer must point to the shared memory window, do we really need both variants of the intrinsic? Why not just have the shared variant and use an `addrspacecast` if there is a generic pointer? This would expose more information to passes like InferAddrSpace. I think it makes sense to have a single canonical form and avoid replicating essentially syntactic sugar in PTX into our set of intrinsics.
https://github.com/llvm/llvm-project/pull/134568
More information about the llvm-commits
mailing list