[gcc/devel/ranger] Avoid duplicate work in refine_range_with_equivalences.
Aldy Hernandez
aldyh@gcc.gnu.org
Thu Mar 5 10:21:00 GMT 2020
https://gcc.gnu.org/g:df81d24357c2d3ed102a663df8f0b2d321d355c9
commit df81d24357c2d3ed102a663df8f0b2d321d355c9
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Wed Mar 4 10:01:59 2020 +0100
Avoid duplicate work in refine_range_with_equivalences.
Diff:
---
gcc/vr-values.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/gcc/vr-values.c b/gcc/vr-values.c
index 9032321..b359886 100644
--- a/gcc/vr-values.c
+++ b/gcc/vr-values.c
@@ -1992,9 +1992,6 @@ vr_gori_interface::refine_range_with_equivalences (irange &r,
if (!branch)
return false;
- if (solve_name_at_statement (tmp, name, branch, branch_range))
- r.intersect (tmp);
-
// Solve each equivalence and use them to refine the range.
bitmap_iterator bi;
unsigned i;
@@ -2002,7 +1999,8 @@ vr_gori_interface::refine_range_with_equivalences (irange &r,
EXECUTE_IF_SET_IN_BITMAP (gori_exports, 0, i, bi)
{
tree equiv = ssa_name (i);
-
+ if (equiv == name)
+ continue;
widest_irange equiv_range;
if (solve_name_at_statement (equiv_range, equiv, branch, branch_range))
{
More information about the Gcc-cvs
mailing list