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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---

<bb 36> [local count: 78951607]:
# ou_lsm.117_263 = PHI <ou_lsm.117_385(94), ou_lsm.117_262(35)>
# mb_lsm.120_277 = PHI <mb_lsm.120_388(94), mb_lsm.120_441(35)>
mb.74_96 = mb_lsm.120_277;
if (mb.74_96 <= 1)
  goto <bb 11>; [36.00%]
else
  goto <bb 37>; [64.00%]

<bb 34> [local count: 28422578]:
# ou_lsm.117_262 = PHI <ou_lsm.117_260(29), ou_lsm.117_261(33)>
l7.72_93 = l7;
if (l7.72_93 <= 0)
  goto <bb 30>; [36.00%]
else
  goto <bb 35>; [64.00%]

# ou_lsm.117_261 = PHI <ou_lsm.117_448(32), ou_lsm.117_263(37)>
<bb 33> [local count: 60761156]:
jk:
l7.71_91 = l7;
_92 = l7.71_91 + 1;
l7 = _92;

Value numbering ou_lsm.117_385 stmt = ou_lsm.117_385 = 0;
Value numbering ou_lsm.117_260 stmt = ou_lsm.117_260 = PHI <ou_lsm.117_259(27),
ou_lsm.117_399(28)>
Setting value number of ou_lsm.117_260 to 1
Value numbering ou_lsm.117_448 stmt = ou_lsm.117_448 = 1;
RHS 1 simplified to 1

so we have

# ou_lsm.117_263 = PHI <0(94), ou_lsm.117_262(35)>
# ou_lsm.117_262 = PHI <1(29), ou_lsm.117_261(33)>
# ou_lsm.117_261 = PHI <1(32), ou_lsm.117_263(37)>

but we value number the PHIs to other PHIs.  Looks like this doesn't work
well for cycles...

Need to debug this in more detail.

Reply via email to