[libcxx-commits] [libcxx] [libc++] Introduce implicit and explicit ABI annotations (PR #193045)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Aug 3 05:06:37 PDT 2026
ldionne wrote:
> @ldionne - ODR ABI tags have been available for ~4 years now, what's your take on their usefulness so far, and have you heard of any issues end-users are facing?
I think they serve their purpose pretty well. Before I introduced them, I remember getting bug reports (mostly via Apple's Feedback Assistant) about code behaving unexpectedly (e.g. when mixing exceptions with no-exceptions code). These issues were solved by ABI tags, I don't recall seeing a similar report since we introduced them. I also haven't heard of any issues with them except from Google: I suspect most people don't have access to stats that are as tight about their codebases, so they might just not have noticed potential increases in debug information sizes, etc.
Overall, I think ABI tags are serving their purpose and unless we decide to tackle the whole ABI insulation story differently (e.g. on a per-TU basis instead of per-symbol, potentially using new mechanisms in the compiler + linker), I don't see ourselves stopping to use them.
The PGO concern is interesting, I also hadn't thought about that. Generally speaking, it might be useful to provide a mechanism for PGO to "canonicalize" the symbols it uses rather than just always strip ABI tags -- that would seem like a potentially incorrect transformation to do in the general case.
https://github.com/llvm/llvm-project/pull/193045
More information about the libcxx-commits
mailing list