https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97360
--- Comment #29 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:6e02de946125c36871bd4d8eff21f7f88f01a8aa commit r11-4080-g6e02de946125c36871bd4d8eff21f7f88f01a8aa Author: Andrew MacLeod <amacl...@redhat.com> Date: Mon Oct 19 19:04:40 2020 -0400 Use precision and sign to compare types for ranges Sanity check ranges by comparing just SIGN and PRECISION. gcc/ PR tree-optimization/97360 * gimple-range.h (range_compatible_p): New. * gimple-range-gori.cc (is_gimple_logical_p): Use range_compatible_p. (range_is_either_true_or_false): Ditto. (gori_compute::outgoing_edge_range_p): Cast result to the correct type if necessary. (logical_stmt_cache::cacheable_p): Use range_compatible_p. * gimple-range.cc (gimple_ranger::calc_stmt): Check range_compatible_p before casting the range. (gimple_ranger::range_on_exit): Use range_compatible_p. (gimple_ranger::range_on_edge): Ditto. gcc/testsuite/ * gcc.dg/pr97360-2.c: New test.