================ @@ -300,12 +316,8 @@ getIRPGONameForGlobalObject(const GlobalObject &GO, GlobalValue::LinkageTypes Linkage, StringRef FileName) { SmallString<64> Name; - if (llvm::GlobalValue::isLocalLinkage(Linkage)) { - Name.append(FileName.empty() ? "<unknown>" : FileName); - Name.append(";"); - } Mangler().getNameWithPrefix(Name, &GO, /*CannotUsePrivateLabel=*/true); ---------------- minglotus-6 wrote:
> I think it makes more sense to use linkage-names for IRPGO, -order_file, and > ThinLTO. -order_file is used in the linker when it only knows linkage-names, > so I don't think it makes sense to feed it mangled names. Thanks for the input. (not to bikeshed but) I think for the purpose of computing global identifier, unique names should suffice. Clang-FE mangled names are unique so sounds fine. Using linkage-name would be a non-trivial change, given the static `getGlobalIdentifier` takes a stringified name currently, and using linkage-name means requiring compatible change in each callsite (e.g., if the caller context doesn't have `GlobalValue` but just stringified names in the bitcode, make sure linkage-name exists in the bitcode, [this](https://github.com/llvm/llvm-project/blob/d6fbd96e5eaf3e8acbf1b43dce7a311352907567/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L6763) seems one example). An alternative fixup is to store the MD5 of `[filename;]linkage-name` (this is what's currently stored in this [field](https://github.com/llvm/llvm-project/blob/0f45e45847a5f2969b8021c787a566531fc96473/compiler-rt/include/profile/InstrProfData.inc#L72-L74)) and the MD5 of `[filename:]mangled-name` (the original hash before D156569) in the raw profiles, so `llvm-profdata` could choose properly (former for ordering and latter for ICP) Would you mind if I create a Github issue to track how to fix other potential cases and assign it to you ? This PR would solve the colon and semicolon difference. https://github.com/llvm/llvm-project/pull/74008 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits