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.
---
gcc/gimple-range-path.cc | 2 +-
gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/gimple-range-path.cc b/gcc/gimple-range-path.cc
index 9957ac9b6c7..f6e31999293 100644
--- a/gcc/gimple-range-path.cc
+++ b/gcc/gimple-range-path.cc
@@ -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;
}
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C
b/gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C
index 9fb5dc1b60c..fc268578f69 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C
@@ -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>
--
2.31.1