The following makes sure to use solve_add_graph_edge and honoring
special-cases, especially edges from escaped, in the remaining places
the solver adds edges.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        * tree-ssa-structalias.cc (do_ds_constraint): Use
        solve_add_graph_edge.
---
 gcc/tree-ssa-structalias.cc | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/gcc/tree-ssa-structalias.cc b/gcc/tree-ssa-structalias.cc
index 84c625d53e5..47808a3d813 100644
--- a/gcc/tree-ssa-structalias.cc
+++ b/gcc/tree-ssa-structalias.cc
@@ -1767,11 +1767,8 @@ do_ds_constraint (constraint_t c, bitmap delta, bitmap 
*expanded_delta)
   if (bitmap_bit_p (delta, anything_id))
     {
       unsigned t = find (storedanything_id);
-      if (add_graph_edge (graph, t, rhs))
-       {
-         if (bitmap_ior_into (get_varinfo (t)->solution, sol))
-           bitmap_set_bit (changed, t);
-       }
+      if (solve_add_graph_edge (graph, t, rhs))
+       bitmap_set_bit (changed, t);
       return;
     }
 
@@ -1825,8 +1822,8 @@ do_ds_constraint (constraint_t c, bitmap delta, bitmap 
*expanded_delta)
                break;
 
              t = find (v->id);
-             if (add_graph_edge (graph, t, rhs)
-                 && bitmap_ior_into (get_varinfo (t)->solution, sol))
+
+             if (solve_add_graph_edge  (graph, t, rhs))
                bitmap_set_bit (changed, t);
            }
 
-- 
2.35.3

Reply via email to