http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44102
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Last reconfirmed| |2012-11-30 CC| |steven at gcc dot gnu.org Resolution|FIXED | Ever Confirmed|0 |1 --- Comment #3 from Steven Bosscher <steven at gcc dot gnu.org> 2012-11-30 14:19:29 UTC --- This fix is wrong. (http://gcc.gnu.org/viewcvs?view=revision&revision=159495) There is a check at the start of cleanup_cfg to always set the CLEANUP_CFGLAYOUT flag whenever we're in cfglayout mode: 120893 steven /* Set the cfglayout mode flag here. We could update all the callers 120893 steven but that is just inconvenient, especially given that we eventually 120893 steven want to have cfglayout mode as the default. */ 120893 steven if (current_ir_type () == IR_RTL_CFGLAYOUT) 120893 steven mode |= CLEANUP_CFGLAYOUT; 120893 steven So this part of your fix: - if ((mode & CLEANUP_CFGLAYOUT) + if (current_ir_type () == IR_RTL_CFGLAYOUT) is incorrect.