https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114682
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2024-04-11 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Note it isn't necessarily always an improvement. It's also not really PRE but FRE when you do PHI translation. There's an argument that we should try PHI translation in FRE to at least catch cases like this where the replacement is simply # i_3 = PHI <2(4), 0(2), 1(3)> _12 = (int) i_3; Note there's also that "frankenstein" phiprop pass which does remotely similar things.