minglotus-6 wrote: > > > > > David says the itanium remapper file was only used once during gcc to > > > > > llvm transition, so not relevant here. > > > > > > > > > > > > I believe it was actually for the libstdc++ to libc++ transition (see > > > > https://reviews.llvm.org/D51247 and https://reviews.llvm.org/D51240). > > > > If it is broken we'll at least want to add a FIXME there. > > > > > > > > > Yes, I meant libstdc++ to libc++ transition. Why source line is this > > > comment addressing? I take take a look the changes/comments there. > > > > > > Sorry for the misinformation, and thanks for the Phab links. > > I think the itanium remapper needs a `:` -> `;` update (going to update > > this PR and related tests), since (for local-linkage functions) the > > function name used to look up profiles should use `;` delimiter. > > > > > > David says the itanium remapper file was only used once during gcc to > > > > > llvm transition, so not relevant here. > > > > > > > > > > > > I believe it was actually for the libstdc++ to libc++ transition (see > > > > https://reviews.llvm.org/D51247 and https://reviews.llvm.org/D51240). > > > > If it is broken we'll at least want to add a FIXME there. > > > > > > > > > Yes, I meant libstdc++ to libc++ transition. Why source line is this > > > comment addressing? I take take a look the changes/comments there. > > > > > > Sorry for the misinformation, and thanks for the Phab links. > > I think the itanium remapper needs a `:` -> `;` update (going to update > > this PR and related tests), since (for local-linkage functions) the > > function name used to look up profiles should use `;` delimiter. > > The remapper is not aware of any internal symbol mangling scheme, so those > entires won't be tracked by it. In other words, there is no need to change > anything there, I think.
Not updating Itanium remapper should work for PGO counter matching until the next transition (details below); for consistency I just updated Itanium remapper's `extractName` to use semicolon. The details * For PGO counter matching, instr prof reader [asks](https://github.com/llvm/llvm-project/blob/32ec5fbfed32f37aa070ee38e9b038bd84ca6479/llvm/lib/ProfileData/InstrProfReader.cpp#L1339) read remapper for a record. * Only with a remapping file provided (specified by `-fprofile-remapping-file`), a itanium remap reader is constructed. And when remapping file is not specified, a no-op remap reader is constructed. [source code](https://github.com/llvm/llvm-project/blob/32ec5fbfed32f37aa070ee38e9b038bd84ca6479/llvm/lib/ProfileData/InstrProfReader.cpp#L1306-L1314) * When remapping file is specified, remap reader tries to extract the mangled name (removing `filename` prefix`) by finding a `:` (no longer used as delimiter for newer profiles) and remaps the mangled name. If `:` is not updated to `;`, the name is remapped to itself (irpgo func format) and profiles could still be found. However, not updating means remapping becomes no-op for local-linkage functions, which is fine after the transition complete but doesn't work for new transitions (if it happens..) 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