[Mlir-commits] [mlir] [mlir][GPU] Extend gpu.barrier with scope and named-barrier support (PR #195692)

Guray Ozen llvmlistbot at llvm.org
Mon May 4 12:56:16 PDT 2026


================
@@ -370,6 +370,37 @@ struct AssertOpToAssertfailLowering
 /// Import the GPU Ops to NVVM Patterns.
 #include "GPUToNVVM.cpp.inc"
 
+struct GPUBarrierOpNVVMLowering final
+    : public ConvertOpToLLVMPattern<gpu::BarrierOp> {
+  using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
+
+  LogicalResult
+  matchAndRewrite(gpu::BarrierOp op, gpu::BarrierOp::Adaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+    if (op.getNamedBarrier())
+      return rewriter.notifyMatchFailure(
+          op, "named barriers are not supported on NVVM");
+
+    gpu::Scope scope = op.getScope();
+    switch (scope) {
+    case gpu::Scope::Workgroup:
+      rewriter.replaceOpWithNewOp<NVVM::Barrier0Op>(op);
----------------
grypp wrote:

https://github.com/llvm/llvm-project/pull/195608 is removing `nvvm.barrier0` OP. let's use nvvm.barrier 

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


More information about the Mlir-commits mailing list