[Mlir-commits] [flang] [mlir] [MLIR][NVVM] Update mbarrier.arrive.* Op (PR #168758)
Durgadoss R
llvmlistbot at llvm.org
Thu Nov 20 09:19:46 PST 2025
================
@@ -725,6 +860,35 @@ def NVVM_MBarrierArriveNocompleteOp : NVVM_Op<"mbarrier.arrive.nocomplete">,
}];
}
+def NVVM_MBarrierArriveDropNocompleteOp : NVVM_Op<"mbarrier.arrive_drop.nocomplete">,
----------------
durga4github wrote:
Yes, exactly what I wanted to discuss here :-)
I assume you are referring to `arrive.noComplete` versus `arrive_drop.noComplete`.
The two operations have distinct semantics at the mbarrier level: `arrive` updates only the pending count, while `arrive_drop` updates both the expected and pending counts. Because of this, I felt it was clearer to keep them as separate and explicitly named operations, giving us room to evolve them independently in the future(if needed).
An alternative would be to add a `bool isDrop` attribute and model both in a single Op. Please let me know if you think this approach is preferable.
https://github.com/llvm/llvm-project/pull/168758
More information about the Mlir-commits
mailing list