================
@@ -251,6 +251,24 @@ SPIRV::MemorySemantics::MemorySemantics
getMemSemantics(AtomicOrdering Ord) {
llvm_unreachable(nullptr);
}
+SPIRV::Scope::Scope getMemScope(const LLVMContext &Ctx, SyncScope::ID ID) {
+ SmallVector<StringRef> SSNs;
+ Ctx.getSyncScopeNames(SSNs);
+
+ StringRef MemScope = SSNs[ID];
+ if (MemScope.empty() || MemScope == "all_svm_devices")
----------------
AlexVlx wrote:
On consideration, I think I'm with @arsenm on this one, both `singlethread` and
the empty string (system) have a defined meaning in LLVM, with all else being
target specific. So, IMHO, for these we actually should think about LLVM's
default, and how the target implements those, whilst for everything else we
should defer to the target.
https://github.com/llvm/llvm-project/pull/106429
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits