diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-04-29 16:49:34 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-04-29 18:36:35 +0200 |
commit | 79b681823666d62f8f86692304dc2a7775ba7ff9 (patch) | |
tree | 615f97e7370fca7ea58ad87e9c6215a453961f41 /gcc | |
parent | 4d54dcd0b255b32491a675941bc0748a9f435538 (diff) | |
download | gcc-79b681823666d62f8f86692304dc2a7775ba7ff9.zip gcc-79b681823666d62f8f86692304dc2a7775ba7ff9.tar.gz gcc-79b681823666d62f8f86692304dc2a7775ba7ff9.tar.bz2 |
Return varying when unknown in rvrp_ranger.
All known regressions are because rvrp gets ahead of other passes, with the
exception of pr88217, which is the -fstrict-enum problem.
> FAIL: gcc.dg/ipa/pure-const-2.c scan-tree-dump local-pure-const1 "found to be pure: i_am_pure"
> FAIL: gcc.dg/tree-ssa/vrp35.c scan-tree-dump vrp1 "Removing dead stmt [^\r\n]* = j_.* == 10"
> FAIL: gcc.dg/tree-ssa/vrp36.c scan-tree-dump vrp1 "Removing dead stmt [^\r\n]* = i_.* == 1"
> FAIL: gcc.dg/vrp-min-max-1.c scan-tree-dump-times mergephi2 "MAX_EXPR" 1
> FAIL: gcc.dg/vrp-min-max-1.c scan-tree-dump-times mergephi2 "MIN_EXPR" 1
< XFAIL: gcc.dg/tree-ssa/vrp113.c scan-tree-dump vrp1 "return 3;"
< FAIL: g++.dg/pr88217.C -std=gnu++14 8 blank line(s) in output
< FAIL: g++.dg/pr88217.C -std=gnu++14 (internal compiler error)
< FAIL: g++.dg/pr88217.C -std=gnu++14 (test for excess errors)
< FAIL: g++.dg/pr88217.C -std=gnu++17 8 blank line(s) in output
< FAIL: g++.dg/pr88217.C -std=gnu++17 (internal compiler error)
< FAIL: g++.dg/pr88217.C -std=gnu++17 (test for excess errors)
< FAIL: g++.dg/pr88217.C -std=gnu++2a 8 blank line(s) in output
< FAIL: g++.dg/pr88217.C -std=gnu++2a (internal compiler error)
< FAIL: g++.dg/pr88217.C -std=gnu++2a (test for excess errors)
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++14 scan-tree-dump-times fre3 "free" 10
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++14 scan-tree-dump-times fre3 "unreachable" 11
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++17 scan-tree-dump-times fre3 "free" 10
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++17 scan-tree-dump-times fre3 "unreachable" 11
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++2a scan-tree-dump-times fre3 "free" 10
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++2a scan-tree-dump-times fre3 "unreachable" 11
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++98 scan-tree-dump-times fre3 "free" 10
> FAIL: g++.dg/tree-ssa/pr61034.C -std=gnu++98 scan-tree-dump-times fre3 "unreachable" 11
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/gimple-ranger-vrp.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/gimple-ranger-vrp.cc b/gcc/gimple-ranger-vrp.cc index 34f558b..571bce2 100644 --- a/gcc/gimple-ranger-vrp.cc +++ b/gcc/gimple-ranger-vrp.cc @@ -58,10 +58,9 @@ public: gimple *stmt) { widest_irange r; - value_range_equiv *vr = new (range_pool.allocate ()) value_range_equiv; - if (!range_of_expr (r, const_cast<tree> (expr), stmt)) - vr->set_varying (TREE_TYPE (expr)); - return vr; + if (range_of_expr (r, const_cast<tree> (expr), stmt)) + return new (range_pool.allocate ()) value_range_equiv (r); + return new (range_pool.allocate ()) value_range_equiv (TREE_TYPE (expr)); } private: object_allocator<value_range_equiv> range_pool; |