[Mlir-commits] [mlir] [mlir][NVVM] Add support for few more fence Ops (PR #170251)
Pradeep Kumar
llvmlistbot at llvm.org
Tue Dec 2 22:57:00 PST 2025
================
@@ -411,6 +411,39 @@ getTcgen05StIntrinsicID(mlir::NVVM::Tcgen05LdStShape shape, uint32_t num) {
llvm_unreachable("unhandled tcgen05.st lowering");
}
+static llvm::Intrinsic::ID
+getFenceProxyID(NVVM::ProxyKind kind, std::optional<NVVM::SharedSpace> space) {
+ switch (kind) {
+ case NVVM::ProxyKind::alias:
+ return llvm::Intrinsic::nvvm_fence_proxy_alias;
+ case NVVM::ProxyKind::async:
+ return llvm::Intrinsic::nvvm_fence_proxy_async;
+ case NVVM::ProxyKind::async_global:
+ return llvm::Intrinsic::nvvm_fence_proxy_async_global;
+ case NVVM::ProxyKind::async_shared:
+ if (*space == NVVM::SharedSpace::shared_cta)
+ return llvm::Intrinsic::nvvm_fence_proxy_async_shared_cta;
+ else
+ return llvm::Intrinsic::nvvm_fence_proxy_async_shared_cluster;
+ default:
+ llvm_unreachable("unsupported proxy kind");
+ }
+}
+
+static llvm::Intrinsic::ID
+getFenceProxySyncRestrictID(NVVM::MemOrderKind order) {
+ switch (order) {
+ case NVVM::MemOrderKind::ACQUIRE:
+ return llvm::Intrinsic::
+ nvvm_fence_proxy_async_generic_acquire_sync_restrict_space_cluster_scope_cluster;
+ case NVVM::MemOrderKind::RELEASE:
+ return llvm::Intrinsic::
+ nvvm_fence_proxy_async_generic_release_sync_restrict_space_cta_scope_cluster;
+ default:
+ llvm_unreachable("unsupported memory semantics");
----------------
schwarzschild-radius wrote:
Thanks, Updated code to the above pattern
https://github.com/llvm/llvm-project/pull/170251
More information about the Mlir-commits
mailing list