https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113434
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org Priority|P3 |P2 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- It needs LIM (store-motion) to make 'a' a register inside the loop but that runs after VRP1, the next VRP only runs after SCCP and also IVOPTs which confuses it. With -fno-ivopts it's OK but still too late for SCCP. Thus, a pass ordering issue between LIM / VRP and a missed VRP after IVOPTs obfuscation. We might want to consider doing store-motion even earlier ...