File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -361,8 +361,13 @@ GlobalVariable *createPGOFuncNameVar(Module &M,
361361 else if (Linkage == GlobalValue::AvailableExternallyLinkage)
362362 Linkage = GlobalValue::LinkOnceODRLinkage;
363363 else if (Linkage == GlobalValue::InternalLinkage ||
364- Linkage == GlobalValue::ExternalLinkage)
365- Linkage = GlobalValue::PrivateLinkage;
364+ Linkage == GlobalValue::ExternalLinkage) {
365+ // LDC: use internal instead of private linkage for COFF (still local, but
366+ // allows for COMDATs on Windows)
367+ Linkage = Triple (M.getTargetTriple ()).isOSBinFormatCOFF ()
368+ ? GlobalValue::InternalLinkage
369+ : GlobalValue::PrivateLinkage;
370+ }
366371
367372 auto *Value =
368373 ConstantDataArray::getString (M.getContext (), PGOFuncName, false );
You can’t perform that action at this time.
0 commit comments