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 @@ -508,8 +508,13 @@ GlobalVariable *createPGOFuncNameVar(Module &M,
508508 else if (Linkage == GlobalValue::AvailableExternallyLinkage)
509509 Linkage = GlobalValue::LinkOnceODRLinkage;
510510 else if (Linkage == GlobalValue::InternalLinkage ||
511- Linkage == GlobalValue::ExternalLinkage)
512- Linkage = GlobalValue::PrivateLinkage;
511+ Linkage == GlobalValue::ExternalLinkage) {
512+ // LDC: use internal instead of private linkage for COFF (still local, but
513+ // allows for COMDATs on Windows)
514+ Linkage = Triple (M.getTargetTriple ()).isOSBinFormatCOFF ()
515+ ? GlobalValue::InternalLinkage
516+ : GlobalValue::PrivateLinkage;
517+ }
513518
514519 auto *Value =
515520 ConstantDataArray::getString (M.getContext (), PGOFuncName, false );
You can’t perform that action at this time.
0 commit comments