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.

Reply via email to