[PATCH] D110422: [AIX] Enable PGO without LTO

Jinsong Ji via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 27 14:07:58 PDT 2021


jsji added a comment.

> "as binder can NOT discard only part of a csect." this part caused confusion to me...

OK, yeah, csect is special to XCOFF, so this is not the same concept of sections in ELF.

> I haven't verified but it is possible that PGO picks the first pair (zero value) and have an incorrect counter for `foo`.

As I mentioned before, we verified (with `llvm-profdata show --all-functions --counts`) that all the counters are good.

> ---
>
> Does your example imply that the weak symbol `__profc_foo` has 2 definitions with conflicting values?

No, they are identical weak functions.  Those offsets are actually from real example using `std::stringbuf`, 
the foo is actually `_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ej`.

> Any idea whether the linker bug will be fixed?

Unfortunately, I just double confirmed with AIX linker (binder) owner, 
there is NO plan of lifting the limitation that binder can NOT discard only part of a csect.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110422/new/

https://reviews.llvm.org/D110422



More information about the llvm-commits mailing list