https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96695
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot
gnu.org
Status|NEW |ASSIGNED
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
We handle:
bool f2(unsigned x, unsigned y)
{
return (x == 0) && (x > y);
}
via:
/* x > y && x != XXX_MIN --> x > y
x > y && x == XXX_MIN --> false . */
min_value is defined as:
(match min_value
INTEGER_CST
(if (INTEGRAL_TYPE_P (type)
&& wi::eq_p (wi::to_wide (t), wi::min_value (type)))))
I suspect we could add POINTER_TYPE_P there and it will work.