[Mlir-commits] [mlir] [ROCDL] Added missing named barrier ops (gfx1250) (PR #162488)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Oct 9 02:56:50 PDT 2025
================
@@ -292,18 +292,56 @@ def ROCDL_BarrierOp : ROCDL_Op<"barrier"> {
let assemblyFormat = "attr-dict";
}
+def ROCDLBufferLDS : LLVM_PointerInAddressSpace<3>;
+
+def ROCDL_BarrierInitOp : ROCDL_IntrOp<"s.barrier.init", [], [], [Pure], 0, 0, 0, 0, [1], ["id"]>,
+ Arguments<(ins Arg<ROCDLBufferLDS, "", [MemRead]>:$ptr, I32Attr:$id)> {
+ let results = (outs);
+ let assemblyFormat = "$ptr `,` $id attr-dict";
+}
+
def ROCDL_BarrierSignalOp : ROCDL_ConcreteNonMemIntrOp<"s.barrier.signal", [], 0, [0], ["id"]>,
Arguments<(ins I32Attr:$id)> {
let results = (outs);
let assemblyFormat = "$id attr-dict";
}
+def ROCDL_BarrierSignalVarOp : ROCDL_IntrOp<"s.barrier.signal.var", [], [], [Pure], 0, 0, 0, 0, [1], ["id"]>,
+ Arguments<(ins Arg<ROCDLBufferLDS, "", [MemRead]>:$ptr, I32Attr:$id)> {
+ let results = (outs);
+ let assemblyFormat = "$ptr `,` $id attr-dict";
+}
+
+def ROCDL_BarrierJoinOp : ROCDL_IntrOp<"s.barrier.join", [], [], [Pure], 0>,
+ Arguments<(ins Arg<ROCDLBufferLDS, "", [MemRead]>:$ptr)> {
----------------
ravil-mobile wrote:
Yep. You are right. All this functions are marked with `IntrNoMem` trait in LLVM. Removed it
https://github.com/llvm/llvm-project/pull/162488
More information about the Mlir-commits
mailing list