https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127922
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <[email protected]>: https://gcc.gnu.org/g:5a4f77eb6afffb16fae3effe9965dc8b216c84ce commit r17-5409-g5a4f77eb6afffb16fae3effe9965dc8b216c84ce Author: Richard Biener <[email protected]> Date: Tue Oct 20 12:14:31 2026 +0200 lto/127922 - TBAA and unsigned vs. signed _BitInt With LTO we fail to ensure signed and unsigned _BitInt of the same precision get the same alias set. Without LTO this is ensured by c_common_get_alias_set which uses the other signedness variants alias-set. With LTO this is complicated by streaming not populating the bitint_type_cache so a similar approach cannot work. The following instead handles this during canonical type merging. I have still fixed gimple_signed_or_unsigned_type to support _BitInt and amended gimple_get_alias_set with a comment. PR lto/127922 * tree.cc (type_with_interoperable_signedness): Return true for BITINT_TYPE. * gimple.cc (gimple_signed_or_unsigned_type): Properly handle BITINT_TYPE. (gimple_get_alias_set): Add comment about signed/unsigned BITINT_TYPE. * gcc.dg/lto/bitint-lto-1_0.c: New testcase.
