[Bug tree-optimization/30911] VRP fails to eliminate range checks in Ada code

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Feb 23 14:05:00 GMT 2007



------- Comment #21 from rguenth at gcc dot gnu dot org  2007-02-23 14:05 -------
Yep, INTEGRAL_TYPE_P is better.  the u!=0 case might be why I tried to preserve
~[0,0] for unsigneds... maybe we have some failing testcases with ranges for
range_is_nonnull, which only checks

static inline bool
range_is_nonnull (value_range_t *vr)
{
  return vr->type == VR_ANTI_RANGE
         && integer_zerop (vr->min)
         && integer_zerop (vr->max);
}

but doesn't see that for unsigned it's equivalent to [1, +INF].  I'll adjust
that, too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30911



More information about the Gcc-bugs mailing list