aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2020-03-10 09:18:03 +0100
committerAldy Hernandez <aldyh@redhat.com>2020-03-10 12:05:49 +0100
commit5a9f1033226f921d9852b3a209706eccc0076fe7 (patch)
tree04cdd3ba9e298cdc35fc4642ef3718a032af9a69
parentdf81d24357c2d3ed102a663df8f0b2d321d355c9 (diff)
downloadgcc-5a9f1033226f921d9852b3a209706eccc0076fe7.zip
gcc-5a9f1033226f921d9852b3a209706eccc0076fe7.tar.gz
gcc-5a9f1033226f921d9852b3a209706eccc0076fe7.tar.bz2
Do not refine some ranges in vr_gori_interface::outgoing_edge_range_p.
Do not refine ranges if result is already a singleton.
-rw-r--r--gcc/vr-values.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/vr-values.c b/gcc/vr-values.c
index b359886..9ec2a4f 100644
--- a/gcc/vr-values.c
+++ b/gcc/vr-values.c
@@ -1973,7 +1973,8 @@ vr_gori_interface::outgoing_edge_range_p (irange &r, edge e, tree name,
{
if (!gori_compute::outgoing_edge_range_p (r, e, name))
r.set_varying (TREE_TYPE (name));
- refine_range_with_equivalences (r, e, name);
+ if (!r.singleton_p ())
+ refine_range_with_equivalences (r, e, name);
widest_irange tmp;
range_of_ssa_name (tmp, name);
r.intersect (tmp);