https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102798
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |aldyh at gcc dot gnu.org
--- Comment #7 from H.J. Lu <hjl.tools at gmail dot com> ---
Looks like a VRP bug. For:
<bb 2> [local count: 168730857]:
if (in_16(D) != 0B)
goto <bb 3>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 3> [local count: 118111600]:
_1 = size_17(D) + 18446744073709551615;
out_26 = out_18(D) + _1;
goto <bb 5>; [100.00%]
VRP reports:
in_16(D) : BACK visiting block 3 for in_16(D)
2->3 has cache, const unsigned char * VARYING, update.
FWD visiting block 3 for in_16(D) starting range : UNDEFINED
edge 2->3 :const unsigned char * [1B, +INF]
Updating range to const unsigned char * [1B, +INF]
Updating blocks :
DONE visiting blocks for in_16(D)