https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104754
--- Comment #2 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- BTW, on GCC11, ivopts doesn't even get a whack at it. The whole thing is optimized away by .fre4: int main () { long int a; long int c; <bb 2> [local count: 44232128]: if (a_9(D) <= 0) goto <bb 13>; [89.00%] else goto <bb 7>; [11.00%] <bb 13> [local count: 39366592]: bar (); bar (); <bb 7> [local count: 44232131]: return 0; } Perhaps this is a regression elsewhere.