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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm, goes CONSTANT -> UNDEFINED.  We've been here before I think.

Visiting statement:
_7 = (int) f.7_6;
which is likely UNDEFINED
Lattice value changed to UNDEFINED.  Adding SSA edges to worklist.
marking stmt to be not simulated again

Visiting statement:
_5 = (char) _4;
which is likely CONSTANT
Lattice value changed to CONSTANT 0x0 (0x3).  Adding SSA edges to worklist.

Visiting statement:
_8 = (int) _5;
which is likely CONSTANT
Lattice value changed to CONSTANT 0x0 (0x3).  Adding SSA edges to worklist.

Visiting statement:
_14 = _7 * _8;
which is likely CONSTANT
Lattice value changed to VARYING.  Adding SSA edges to worklist.

Visiting statement:
_15 = _14 / _8;
which is likely CONSTANT
Lattice value changed to CONSTANT 0x0 (0xff).  Adding SSA edges to worklist.

Visiting statement:
_5 = (char) _4;
which is likely CONSTANT
Lattice value changed to VARYING.  Adding SSA edges to worklist.
ssa_edge_worklist: adding SSA use in _8 = (int) _5;

Simulating statement: _8 = (int) _5;

Visiting statement:
_8 = (int) _5;
which is likely CONSTANT
Lattice value changed to VARYING.  Adding SSA edges to worklist.
ssa_edge_worklist: adding SSA use in _15 = _14 / _8;
ssa_edge_worklist: adding SSA use in _18 = _8 & _17;

Simulating statement: _15 = _14 / _8;

Visiting statement:
_15 = _14 / _8;
which is likely CONSTANT
Applying pattern match.pd:397, gimple-match.c:9897
Match-and-simplified _14 / _8 to _7

Reply via email to