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)