[clang] [OpenMP] Mark critical region lock variables dso_local for static relocation model (PR #201157)
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 3 23:03:38 PDT 2026
================
@@ -2069,7 +2069,12 @@ Address CGOpenMPRuntime::emitThreadIDAddress(CodeGenFunction &CGF,
llvm::Value *CGOpenMPRuntime::getCriticalRegionLock(StringRef CriticalName) {
std::string Prefix = Twine("gomp_critical_user_", CriticalName).str();
std::string Name = getName({Prefix, "var"});
- return OMPBuilder.getOrCreateInternalVariable(KmpCriticalNameTy, Name);
+
+ llvm::GlobalVariable *GV =
+ OMPBuilder.getOrCreateInternalVariable(KmpCriticalNameTy, Name);
+ CGM.setDSOLocal(GV);
+
----------------
MaskRay wrote:
unneeded blank line
https://github.com/llvm/llvm-project/pull/201157
More information about the cfe-commits
mailing list