We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent cbaeb47 commit a2421e8Copy full SHA for a2421e8
llvm/lib/ProfileData/InstrProf.cpp
@@ -428,8 +428,13 @@ GlobalVariable *createPGOFuncNameVar(Module &M,
428
else if (Linkage == GlobalValue::AvailableExternallyLinkage)
429
Linkage = GlobalValue::LinkOnceODRLinkage;
430
else if (Linkage == GlobalValue::InternalLinkage ||
431
- Linkage == GlobalValue::ExternalLinkage)
432
- Linkage = GlobalValue::PrivateLinkage;
+ Linkage == GlobalValue::ExternalLinkage) {
+ // LDC: use internal instead of private linkage for COFF (still local, but
433
+ // allows for COMDATs on Windows)
434
+ Linkage = Triple(M.getTargetTriple()).isOSBinFormatCOFF()
435
+ ? GlobalValue::InternalLinkage
436
+ : GlobalValue::PrivateLinkage;
437
+ }
438
439
auto *Value =
440
ConstantDataArray::getString(M.getContext(), PGOFuncName, false);
0 commit comments