https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110540
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2023-07-06
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
After threadfull2 we have:
# VUSE <.MEM_17>
_6 = *f.3_5;
# VUSE <.MEM_17>
_7 = *_6;
if (_7 <= 0)
goto <bb 3>; [5.50%]
else
goto <bb 6>; [94.50%]
<bb 3> [local count: 55807731]:
# .MEM_19 = VDEF <.MEM_17>
*_6 = 0;
# VUSE <.MEM_19>
_10 = *f.3_5;
if (_10 != 0B)
goto <bb 5>; [0.00%]
else
goto <bb 4>; [100.00%]
But there is nothing which will optimize the load of *f.3_5 to be _6 before
vrp2 (which is the next pass).
There seems to be some other issues earlier on which gets us to that IR that
late but I am not sure how ...