http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56181
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-06 14:55:25 UTC --- (In reply to comment #9) > Created attachment 29369 [details] > updated patch > > This works better. Probably flow_loops_find should not handle loop removal > though, and the IRA use is plain ugly (but it was before). What I like about this idea is consolidating of fix_loop_structure and flow_loops_find (and possibly parts of loop_optimizer_init). What I like less is that we allow even more leeway to passes to fixup after them. That is, at least we should ICE when a loop marked for removal by a pass is then re-discovered with exactly the same header. And we should probably dump info somewhere when we incrementally discover new loops. Separately fixing the IRA oddness would be nice (use loop_optimizer_init (AVOID_CFG_MANIPULATIONS) and current_loops instead of ira_loops).