https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97725
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Andrew Macleod <amacl...@gcc.gnu.org>: https://gcc.gnu.org/g:22984f3f090921b5ac80ec0057f6754ec458e97e commit r11-4755-g22984f3f090921b5ac80ec0057f6754ec458e97e Author: Andrew MacLeod <amacl...@redhat.com> Date: Thu Nov 5 13:59:45 2020 -0500 Pass multi-range from range_query::value_* routines fix range-ops equal/not_equal to not reuse the result range as intermediary. value_query::value routines should pasa multi-range in as some other rangeop routines build into this result, so we may need better precision. gcc/ PR tree-optimization/97725 * range-op.cc (operator_equal::fold_range): Use new tmp value. (operator_not_equal::fold_range): Ditto. * value-query.cc (range_query::value_of_expr): Use int_range_max not a value_range. (range_query::value_on_edge): Ditto. (range_query::value_of_stmt): Ditto. gcc/testsuite/ * gcc.dg/pr97725.c: New.