[clang] [llvm] [SPIRV][RFC] Rework / extend support for memory scopes (PR #106429)

Alex Voicu via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 9 05:16:27 PDT 2024


================
@@ -766,8 +766,17 @@ static void EmitAtomicOp(CodeGenFunction &CGF, AtomicExpr *Expr, Address Dest,
   // LLVM atomic instructions always have synch scope. If clang atomic
   // expression has no scope operand, use default LLVM synch scope.
   if (!ScopeModel) {
+    llvm::SyncScope::ID SS = CGF.getLLVMContext().getOrInsertSyncScopeID("");
+    if (CGF.getLangOpts().OpenCL)
+      // OpenCL approach is: "The functions that do not have memory_scope
----------------
AlexVlx wrote:

This is the primary entry point for Atomic emission, so things like the Clang builtins (which do not carry scopes) would end up here.

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


More information about the cfe-commits mailing list