[clang] [llvm] [SPIR-V] Encode Atomic metadata as UserSemantic string decoration (PR #193019)

Juan Manuel Martinez CaamaƱo via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 21 07:52:12 PDT 2026


================
@@ -576,6 +579,28 @@ StringRef SPIRVTargetCodeGenInfo::getLLVMSyncScopeStr(
   return "";
 }
 
+void SPIRVTargetCodeGenInfo::setTargetAtomicMetadata(
+    CodeGenFunction &CGF, llvm::Instruction &AtomicInst,
+    const AtomicExpr *AE) const {
+  if (CGF.CGM.getTriple().getVendor() != llvm::Triple::VendorType::AMD)
+    return;
+
+  auto *RMW = dyn_cast<llvm::AtomicRMWInst>(&AtomicInst);
+  if (!RMW)
+    return;
+
+  AtomicOptions AO = CGF.CGM.getAtomicOpts();
----------------
jmmartinez wrote:

Since this implementation is partially shared between AMDGPU and SPIRV, can we use a common helper? To prevent somebody modifying one side and forgetting the other.

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


More information about the cfe-commits mailing list