[llvm-branch-commits] [llvm] [AMDGPU] Implement "non-av" semantics using metadata (PR #199489)

Sameer Sahasrabuddhe via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue May 26 20:00:38 PDT 2026


================
@@ -733,6 +737,13 @@ getSynchronizeAddrSpaceMD(const MachineInstr &MI) {
   return Result;
 }
 
+static bool hasAVNoneMMRA(const MachineInstr &MI) {
+  auto MMRA = MMRAMetadata(MI.getMMRAMetadata());
+  if (!MMRA)
+    return false;
+  return MMRA.hasTag("amdgcn-av", "none");
----------------
ssahasra wrote:

> Should the tag name be `amdgpu-av`, to be more consistent with the existing `amdgpu-synchronize-as`?

It's something I had explored. `amdgpu-synchronize-as` is one of the rare places where "amdgpu" is used, while in the case of almost all builtins, intrinsics and metadata, "amdgcn" is the convention. @Pierre-vh were you trying to start a newer convention with the `amdgpu-synchronize-as`?

> Also: should we diagnose values other than `"none"`? There is no case where we want to make use of the happens-before-breaking semantics of incompatible MMRAs, right?

Yes, I will add the check.

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


More information about the llvm-branch-commits mailing list