[Mlir-commits] [mlir] [MLIR][NVGPU] Add `mbarrier.get` Op (PR #133221)

Pradeep Kumar llvmlistbot at llvm.org
Thu Mar 27 05:16:47 PDT 2025


================
@@ -322,6 +322,25 @@ def NVGPU_MBarrierCreateOp : NVGPU_Op<"mbarrier.create", []> {
   }];
 }
 
+def NVGPU_MBarrierGetOp : NVGPU_Op<"mbarrier.get", []> {
+  let summary = "Return a pointer to an `nvgpu.mbarrier`.";
+  let description = [{
+    The `nvgpu.mbarrier.get` operation retrieves a pointer to a specific 
+    `mbarrier` object from a group of barriers created by the `nvgpu.mbarrier.create` operation.
+
+    Example:
+    ```mlir
+      %mbars = nvgpu.mbarrier.create -> !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>, num_barriers = 10>
+      %mbar_pointer = nvgpu.mbarrier.get %mbars[%c2] : !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>>
----------------
schwarzschild-radius wrote:

+1. I think we can add a verifier check to avoid adding branches in the hot path

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


More information about the Mlir-commits mailing list