aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2007-01-26 12:36:01 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2007-01-26 12:36:01 +0000
commitd3c3697412a4d6cd1a55451a612953f9c246beee (patch)
treed9052574b8b91b12ba483ce319b073f94f820108 /gcc/tree-ssa-structalias.c
parent7befd5d26a19507b98e417275f72dcf8f26ba385 (diff)
downloadgcc-d3c3697412a4d6cd1a55451a612953f9c246beee.zip
gcc-d3c3697412a4d6cd1a55451a612953f9c246beee.tar.gz
gcc-d3c3697412a4d6cd1a55451a612953f9c246beee.tar.bz2
tree-ssa-structalias.c (solve_graph): Handle case we merged the variable to another.
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
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r--gcc/tree-ssa-structalias.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index def8958..dd95c9f 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -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. */