diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-26 12:36:01 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-26 12:36:01 +0000 |
commit | 07cd0533e5dfe1c9efd459598c7a9f8e0d71bb70 (patch) | |
tree | d9052574b8b91b12ba483ce319b073f94f820108 /gcc/tree-ssa-structalias.c | |
parent | f30a3c31372ec33af9d8012a86752634163d718f (diff) | |
download | gcc-07cd0533e5dfe1c9efd459598c7a9f8e0d71bb70.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121202 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r-- | gcc/tree-ssa-structalias.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index def895854f5..dd95c9f6e56 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. */ |