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

--- Comment #4 from Jeffrey A. Law <law at redhat dot com> ---
So the simplified tests are interesting, but ultimately too simplified.  The
VRP prototype which works on the simplified testcases doesn't work on the real
testcase for this BZ.

The key sequences look like:

 _13 = (long unsigned int) _12;
  _121 = ADD_OVERFLOW (_13, 18446744073709551615);
  _1 = REALPART_EXPR <_121>;
  _39 = IMAGPART_EXPR <_121>;
  if (_1 > _13)
    goto <bb 4>; [29.56%]
  else
    goto <bb 18>; [70.44%]


Which defeat the simplistic prototype for VRP.  It's essentially still the same
construct, but we'd have to extract stuff out of the COMPLEX_EXPR and recognize
the ADD_OVERFLOW.

Reply via email to