https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117323
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Component|middle-end |tree-optimization Last reconfirmed| |2024-10-28 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. This basically comes down to phiprop not working always and the order of arguments assignments matter. In phiprop we have for x86_64: ``` # _42 = PHI <&D.18585(7), &D.18586(8)> # .MEM_34 = VDEF <.MEM_32> D.18587 = 0; # VUSE <.MEM_34> _33 = *_42; ``` That confuses phiprop. if the order was the opposite way around, it would work. phiprop does not cause aliasing, it just stops.