[Bug tree-optimization/106570] [12/13 Regression] DCE sometimes fails with depending if statements since r12-2305-g398572c1544d8b75

amacleod at redhat dot com gcc-bugzilla@gcc.gnu.org
Tue Aug 9 13:28:21 GMT 2022


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

--- Comment #2 from Andrew Macleod <amacleod at redhat dot com> ---
I think this is a duplicate of PR106379 .   At the VRP2 stage I see:

  <bb 2> [local count: 1073741824]:
  if (c_6(D) == s_7(D))
    goto <bb 3>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 3> [local count: 365072224]:
  _1 = ~c_6(D);
  _2 = _1 & s_7(D);
  if (_2 != 0)
    goto <bb 4>; [75.00%]
  else
    goto <bb 5>; [25.00%]

  <bb 4> [local count: 628138969]:
  DCEMarker0_ ();

  <bb 5> [local count: 1073741824]:
  return;

Which is basically the identical sequence.. it just took longer to get to it
:-)  We aren't removing this yet with ranger as I need to get to integrate
rangers relation oracle with the simplifier so that it will see that  _2 = ~s_7
& s_7.


More information about the Gcc-bugs mailing list