https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61184
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok, it's rather an old bug in vrp_operand_equal_p which does if (is_overflow_infinity (val1)) return is_overflow_infinity (val2); which isn't correct for how it is called from update_value_range (old value first, new value last and in this particular case +INF and +INF(OVF) which are happily classified as equal).