https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109138

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
   Last reconfirmed|                            |2023-03-15
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
reassoc1 introduces the unconditional use of an unitialized variable.

From:
  <bb 3> [local count: 1014686025]:
  if (d_5(D) != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 1073741824]:
  a.1_1 = a;
  if (a.1_1 == 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 5>; [5.50%]

To:

  a.1_1 = a;
  _12 = (unsigned int) d_5(D);
  _4 = _12 | a.1_1;
  _3 = _4 == 0;
  if (_3 != 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 4>; [5.50%]

Reply via email to