https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100315
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|missed-optimization |wrong-code
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I almost want to say this is actually wrong code.
cddce1 is changing:
<bb 3> :
# e_2 = PHI <0(2), e_7(6)>
a.0_1 = a;
if (a.0_1 != 0)
goto <bb 4>; [33.00%]
else
goto <bb 6>; [67.00%]
<bb 4> :
foo ();
<bb 5> :
goto <bb 5>; [100.00%]
<bb 6> :
e_7 = e_2 + 1;
goto <bb 3>; [INV]
Into:
<bb 3> :
foo ();
<bb 5> :
goto <bb 5>; [100.00%]
Which I think is invalid.