https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95230
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2021-11-22 00:00:00 |2023-6-9 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Dom is now able to convert it to: _19 = val_12(D) & 1; <bb 3> [local count: 1019366122]: # res_5 = PHI <_19(3), _19(2)> # I_34 = PHI <I_31(3), 1(2)> I_31 = I_34 + 1; if (I_31 != 32) goto <bb 3>; [96.90%] else goto <bb 4>; [3.10%] <bb 4> [local count: 32534376]: return res_5; But then nothing does the prop from _19 to res_5 and removes the empty loop.