https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110874
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Oh the difference between -O1 and -O2 is due to in fre: /* At -O[1g] use the cheap non-iterating mode. */ bool iterate_p = may_iterate && (optimize > 1);