path solver: Default to global range if nothing found.

This has been a long time coming, but we weren't able to make the
change because of some unrelated regressions.

Tested on x86-64 & ppc64le Linux.

gcc/ChangeLog:

	* gimple-range-path.cc (path_range_query::internal_range_of_expr):
	Default to global range if nothing found.

gcc/testsuite/ChangeLog:

	* g++.dg/tree-ssa/pr31146-2.C: Add -fno-thread-jumps.
This commit is contained in:
Aldy Hernandez 2021-11-15 09:56:48 +01:00
parent 220bd61874
commit 540d92ae9b
2 changed files with 2 additions and 2 deletions

View File

@ -212,7 +212,7 @@ path_range_query::internal_range_of_expr (irange &r, tree name, gimple *stmt)
return true;
}
r.set_varying (TREE_TYPE (name));
r = gimple_range_global (name);
return true;
}

View File

@ -1,5 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-O -fcheck-new -fno-tree-vrp -fdump-tree-forwprop1" } */
/* { dg-options "-O -fcheck-new -fno-tree-vrp -fdump-tree-forwprop1 -fno-thread-jumps" } */
#include <new>