summaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-09 22:50:01 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-09 22:50:01 +0000
commit70106280cae74cbd0f97444213aef9605f34b20b (patch)
treec6f70d0a915759c759daa29d1d4f35bcd2436148 /gcc/tree-cfg.c
parent0933bd90096fc0db5d4ee6bd89749be8985c96ba (diff)
downloadgcc-70106280cae74cbd0f97444213aef9605f34b20b.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105151 138bc75d-0d04-0410-961f-82ee72b054a4
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 74e6063c0ab..2a0d75a2970 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);
}
}