On Tue, Mar 05, 2013 at 12:27:20PM +0100, Richard Biener wrote: > This should fix PR56525, we reference ggc_freed loop structures > from bb->loop_father when fix_loop_structure removes a loop > and then calls flow_loops_find. Fixed by delaying the ggc_free > part of loop removal until after that (I thought about other > ways to fix the reference but they are way more intrusive). > > Bootstrap and regtest running on x86_64-unknown-linux-gnu. > > Richard. > > 2013-03-05 Richard Biener <rguent...@suse.de> > > PR middle-end/56525 > * loop-init.c (fix_loop_structure): Remove loops in two stages, > not freeing them until the end.
Looks good to me (when reporting the bug, I actually thought about defering the removal for the duration of the fixup too). Jakub