================
@@ -537,7 +537,11 @@ AMDGPUTargetCodeGenInfo::getLLVMSyncScopeID(const 
LangOptions &LangOpts,
     break;
   }
 
-  if (Ordering != llvm::AtomicOrdering::SequentiallyConsistent) {
+  // OpenCL assumes by default that atomic scopes are per-address space for
+  // non-sequentially consistent operations.
+  if (Scope >= SyncScope::OpenCLWorkGroup &&
----------------
dhruvachak wrote:

Can you explain which scopes will generate the one-as versions with this 
change? I don't know which ones are in that range: agent, workgroup, wavefront, 
singlethread are the possible candidates. 

I also don't understand why the one-as should be generated for a specific range 
of scopes. How do we know that will not lead to mis-compilation?

https://github.com/llvm/llvm-project/pull/120095
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to