[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