https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125923
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
```
# VUSE <.MEM_23>
b.3_20 = b;
if (b.3_20 != 0)
goto <bb 4>; [50.00%]
else
goto <bb 7>; [50.00%]
<bb 4> [local count: 14763950]:
# .MEM_6 = VDEF <.MEM_23>
b = 0;
# VUSE <.MEM_6>
c_lsm.9_28 = c;
goto <bb 8>; [100.00%]
<bb 7> [local count: 14763950]:
# VUSE <.MEM_23>
c_lsm.9_37 = c;
<bb 8> [local count: 29527900]:
# c_lsm.9_39 = PHI <c_lsm.9_37(7), c_lsm.9_28(4)>
<bb 9> [local count: 536870912]:
# c_lsm.9_17 = PHI <_5(9), c_lsm.9_39(8)>
_5 = c_lsm.9_17 ^ 1;
goto <bb 9>; [100.00%]
````
I guess there is a case where `gimple_vuse (load0) != gimple_vuse (load1)` can
show up even without a virtual phi after all. An infinite loop.
That is a simple fix.