2009-02-10 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/39124
+ * cfgloopmanip.c (remove_path): Call remove_bbs after
+ cancel_loop_tree, not before it.
+
PR target/39139
* function.h (struct function): Add has_local_explicit_reg_vars
bit.
/* 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.
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++)