diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-10 16:23:17 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-10 16:23:17 +0000 |
commit | 16ccc50c80088ce6e9407579b12927aba6036390 (patch) | |
tree | 3b8e904d6bae3a3201463054831fcc5b0dab190d /gcc/cfgloopmanip.c | |
parent | e15deb4b329bf724d50139ade9b5a0e9b152b130 (diff) | |
download | gcc-16ccc50c80088ce6e9407579b12927aba6036390.tar.gz |
PR middle-end/39124
* cfgloopmanip.c (remove_path): Call remove_bbs after
cancel_loop_tree, not before it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144066 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r-- | gcc/cfgloopmanip.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c index d8979b44f4a..28cfa3cfc9a 100644 --- a/gcc/cfgloopmanip.c +++ b/gcc/cfgloopmanip.c @@ -1,5 +1,5 @@ /* Loop manipulation code for GNU compiler. - Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008 Free Software + Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GCC. @@ -349,13 +349,13 @@ remove_path (edge e) if (rem_bbs[i]->loop_father->header == rem_bbs[i]) deleted_loop[nreml++] = rem_bbs[i]->loop_father; - remove_bbs (rem_bbs, nrem); - free (rem_bbs); - for (i = 0; i < nreml; i++) cancel_loop_tree (deleted_loop[i]); free (deleted_loop); + remove_bbs (rem_bbs, nrem); + free (rem_bbs); + /* Find blocks whose dominators may be affected. */ sbitmap_zero (seen); for (i = 0; i < n_bord_bbs; i++) |