aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-10-10 00:50:01 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2005-10-09 22:50:01 +0000
commitc9639aaea98bc664408ad15fd026887d2183772c (patch)
treec6f70d0a915759c759daa29d1d4f35bcd2436148 /gcc/tree-cfg.c
parented883fe3d84eafc4f1e96a6193b8aa07f6304e67 (diff)
downloadgcc-c9639aaea98bc664408ad15fd026887d2183772c.zip
gcc-c9639aaea98bc664408ad15fd026887d2183772c.tar.gz
gcc-c9639aaea98bc664408ad15fd026887d2183772c.tar.bz2
re PR tree-optimization/24226 (ICE: Segmentation fault in operand_equal_p (complete loop unrolling))
PR tree-optimization/24226 * tree-cfg.c (remove_bb): Clean up unreachable loops. * tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare. * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop): Export. From-SVN: r105151
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 74e6063..2a0d75a 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -2020,6 +2020,12 @@ remove_bb (basic_block bb)
{
loop->latch = NULL;
loop->header = NULL;
+
+ /* Also clean up the information associated with the loop. Updating
+ it would waste time. More importantly, it may refer to ssa
+ names that were defined in other removed basic block -- these
+ ssa names are now removed and invalid. */
+ free_numbers_of_iterations_estimates_loop (loop);
}
}