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)

Reply via email to