aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2021-11-15 09:56:48 +0100
committerAldy Hernandez <aldyh@redhat.com>2021-11-15 13:16:56 +0100
commit540d92ae9b629eb40dc45a5d76b0f0d0222bf4e0 (patch)
tree7424fd513b5bc2584bf3c64f947e6307adb91542 /gcc
parent220bd61874cf114667b44f9ded76ed0639eb278b (diff)
downloadgcc-540d92ae9b629eb40dc45a5d76b0f0d0222bf4e0.zip
gcc-540d92ae9b629eb40dc45a5d76b0f0d0222bf4e0.tar.gz
gcc-540d92ae9b629eb40dc45a5d76b0f0d0222bf4e0.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gimple-range-path.cc2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr31146-2.C2
2 files changed, 2 insertions, 2 deletions
diff --git a/gcc/gimple-range-path.cc b/gcc/gimple-range-path.cc
index 9957ac9..f6e3199 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 9fb5dc1..fc26857 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>