https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125925
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2026-06-22
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's not PRE but tail-merging that discovers this.
In this very simple setting it looks like a CFG "cleanup" thing, discovering
that all preds of BB5 have the same alternate successor BB6 and the
same controlling condition. You'd then split the source blocks before
the condition and redirect one of the edges to the split part form the
other. The result is "one less edge" (and one less branch). Somewhat
of a reverse mergephi (both reverse, not merge blocks and not go from
incoming edges).
Confirmed.