------- Comment #2 from steven at gcc dot gnu dot org 2007-02-21 22:09 ------- On the trunk, *and* on the dataflow branch, we crossjump the code starting with "if (i != 1)" on the first cleanup_cfg iteration when it's called from rest_of_handle_stack_adjustments. Trunk then goes on to crossjump the other blocks, but the df-branch stops because there is a set to the CC-reg in the way. That set has a REG_UNUSED flag on it.
What probably happens, is that flow on the trunk does some dce in the liveness update, and the df-branch does not. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30905