================
@@ -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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits