[Bug tree-optimization/55011] [4.8 Regression] GCC in an infinite loop at -O2 in VRP

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Oct 22 10:04:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55011

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-22 10:03:56 UTC ---
We are iterating between

Visiting PHI node: s_56 = PHI <_53(3), _12(12)>

    Argument #0 (3 -> 4 executable)
        _53
        Value: [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)

    Argument #1 (12 -> 4 executable)
        _12
        Value: UNDEFINED
Meeting
  [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)
and
  UNDEFINED
to
  [63740, +INF]  EQUIVALENCES: { } (0 elements)
Found new range for s_56: [63740, +INF]

Simulating statement (from ssa_edges): s_56 = PHI <_53(3), _12(12)>

Visiting PHI node: s_56 = PHI <_53(3), _12(12)>

    Argument #0 (3 -> 4 executable)
        _53
        Value: UNDEFINED

    Argument #1 (12 -> 4 executable)
        _12
        Value: UNDEFINED
Meeting
  UNDEFINED
and
  UNDEFINED
to
  UNDEFINED
Found new range for s_56: UNDEFINED

Simulating statement (from ssa_edges): s_56 = PHI <_53(3), _12(12)>

Visiting PHI node: s_56 = PHI <_53(3), _12(12)>

    Argument #0 (3 -> 4 executable)
        _53
        Value: [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)

    Argument #1 (12 -> 4 executable)
        _12
        Value: UNDEFINED
Meeting
  [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)
and
  UNDEFINED
to
  [63740, +INF]  EQUIVALENCES: { } (0 elements)
Found new range for s_56: [63740, +INF]

which means _53 has bogus transitions:

Visiting statement:
_53 = ASSERT_EXPR <_19, _19 > 63739>;

Intersecting
  [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)
and
  [0, +INF]
to
  [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)
Found new range for _53: [63740, +INF]

Visiting statement:
_53 = ASSERT_EXPR <_19, _19 > 63739>;

Intersecting
  [63740, +INF]  EQUIVALENCES: { _19 } (1 elements)
and
  [15935, 32767]
to
  UNDEFINED
Found new range for _53: UNDEFINED

I have a patch.



More information about the Gcc-bugs mailing list