[Bug tree-optimization/70623] [6 Regression] ICE in compute_antic at -O2

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 12 11:17:00 GMT 2016


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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Value numbers:
_1 = _31
_4 = 1

and

<bb 7>:
_4 = rc_35 != 0;
_31 = _9 == 0;
_1 = _4 & _31;
if (_1 != 0)

which is in the loop we don't converge for ANTIC compute:

...

Starting iteration 497
ANTIC_OUT[10] := { _9 (0006) }
ANTIC_IN[10] := { _9 (0006), rc_35 (0017), {plus_expr,rc_35,1} (0008) }
S[10] := { _9 (0006) }
ANTIC_OUT[18] := { _9 (0006), rc_13 (0008) }
ANTIC_IN[18] := { _9 (0006), rc_13 (0008) }
S[18] := { _9 (0006), rc_13 (0008) }

Starting iteration 498
ANTIC_OUT[10] := {  }
ANTIC_IN[10] := { rc_35 (0017), {plus_expr,rc_35,1} (0008) }
S[10] := {  }
ANTIC_OUT[18] := { rc_13 (0008) }
ANTIC_IN[18] := { rc_13 (0008) }
S[18] := { rc_13 (0008) }

Starting iteration 498
ANTIC_OUT[10] := {  }
ANTIC_IN[10] := { rc_35 (0017), {plus_expr,rc_35,1} (0008) }
S[10] := {  }
ANTIC_OUT[18] := { _9 (0006), rc_13 (0008) }
ANTIC_IN[18] := { _9 (0006), rc_13 (0008) }
S[18] := { _9 (0006), rc_13 (0008) }

...
Starting iteration 499
ANTIC_OUT[10] := { _9 (0006) }
ANTIC_IN[10] := { _9 (0006), rc_35 (0017), {plus_expr,rc_35,1} (0008) }
S[10] := { _9 (0006) }
ANTIC_OUT[18] := { rc_13 (0008) }
ANTIC_IN[18] := { rc_13 (0008) }
S[18] := { rc_13 (0008) }

I think we're just unlucky here to run into a latent issue (IIRC a similar
testcase ICEs on the gcc-5 branch instead).

Investigating more closely.


More information about the Gcc-bugs mailing list