diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-10-10 00:50:01 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2005-10-09 22:50:01 +0000 |
commit | c9639aaea98bc664408ad15fd026887d2183772c (patch) | |
tree | c6f70d0a915759c759daa29d1d4f35bcd2436148 /gcc/tree-cfg.c | |
parent | ed883fe3d84eafc4f1e96a6193b8aa07f6304e67 (diff) | |
download | gcc-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.c | 6 |
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); } } |