]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-ssa-structalias.c (solve_graph): Handle case we merged the variable to another.
authorDaniel Berlin <dberlin@dberlin.org>
Fri, 26 Jan 2007 12:36:01 +0000 (12:36 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 26 Jan 2007 12:36:01 +0000 (12:36 +0000)
2007-01-26  Daniel Berlin  <dberlin@dberlin.org>
Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (solve_graph): Handle case
we merged the variable to another.

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r121202

gcc/ChangeLog
gcc/tree-ssa-structalias.c

index 960199789fe18a4fb629f323662ee1e9041318ab..18a38ed916783e5b371f21c4864c8dc0b6aafb7c 100644 (file)
@@ -1,3 +1,9 @@
+2007-01-26  Daniel Berlin  <dberlin@dberlin.org>
+       Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (solve_graph): Handle case
+       we merged the variable to another.
+
 2007-01-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * builtins.c (fold_builtin_1): Treat ccos and ccosh as 'even'
index def895854f598c56c25f5fe41624a53ea966460e..dd95c9f6e56d06f5945d003d8a51010dfa2e5c3d 100644 (file)
@@ -2051,9 +2051,10 @@ solve_graph (constraint_graph_t graph)
          if (find (i) != i)
            continue;
 
-         eliminate_indirect_cycles (i);
-
-         gcc_assert (find (i) == i);
+         /* In certain indirect cycle cases, we may merge this
+            variable to another.  */
+         if (eliminate_indirect_cycles (i) && find(i) != i)
+           continue;
 
          /* If the node has changed, we need to process the
             complex constraints and outgoing edges again.  */