[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