https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122734
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Hoist loop invariant in |[15/16 Regression] ch gets
|presence of exception |confused with some extra if
|handling |(a) __builtin_unreachable
Target Milestone|--- |15.3
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Keywords| |missed-optimization
Last reconfirmed| |2025-11-18
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed. This has nothing to do with exceptions at all (can be reproduced
even with -fno-exceptions).
The problem is there was a few extra `if (a) __builtin_unreachable();` added to
libstdc++ in GCC 15 and that seems to confuse loop copy header in some cases.
This case included.
So this is regression from an user point of view.