https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97721
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Aldy Hernandez <al...@gcc.gnu.org>: https://gcc.gnu.org/g:4ef0f1e90f1795b1f2d5bba05ed299e8c7635fd4 commit r11-4743-g4ef0f1e90f1795b1f2d5bba05ed299e8c7635fd4 Author: Aldy Hernandez <al...@redhat.com> Date: Thu Nov 5 12:40:51 2020 +0100 Drop overflow from constants while building ranges in ranger. Sometimes the overflow flag will leak into the IL. Drop it while creating ranges. There are various places we could plug this. This patch just plugs things at get_tree_range which is the entry point for ranges from tree expressions. It fixes the PR, and probably fixes the ranger entirely, but we may need to revisit this. For example, I looked to see if there were other places that created ranges with TREE_OVERFLOW set, and there are various. For example, the following code pattern appears multiple times in vr-values.c: else if (is_gimple_min_invariant (op0)) vr0.set (op0); This can pick up TREE_OVERFLOW from the IL if present. However, the ranger won't see them so we're good. At some point we should audit all this. Or perhaps just nuke all TREE_OVERFLOW's at irange::set. For now, this will do. gcc/ChangeLog: PR tree-optimization/97721 * gimple-range.cc (get_tree_range): Drop overflow from constants. gcc/testsuite/ChangeLog: * gcc.dg/pr97721.c: New test.