https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91351
Marc Glisse <glisse at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|glisse at gcc dot gnu.org |
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
Switch lowering produces things like
_6 = e_2(D) + 4294967285;
if (_6 > 2)
for range checking, where _6 has type enum E, and VRP2 later takes advantage of
strict enum to assume that _6 cannot be large. It seems like the range check
should use a type that is not an enum.
(the bisection result makes little sense to me)