------- Comment #3 from bonzini at gnu dot org 2009-07-01 15:47 ------- Honza, this worked for me:
Index: combine.c =================================================================== --- combine.c (revision 149135) +++ combine.c (working copy) @@ -2173,12 +2173,13 @@ update_cfg_for_uncondjump (rtx insn) { basic_block bb = BLOCK_FOR_INSN (insn); + bool at_end = (BB_END (bb) == insn); - if (BB_END (bb) == insn) + if (at_end) purge_dead_edges (bb); delete_insn (insn); - if (EDGE_COUNT (bb->succs) == 1) + if (at_end && EDGE_COUNT (bb->succs) == 1) single_succ_edge (bb)->flags |= EDGE_FALLTHRU; } Would you mind seeing if your patch was the same? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39886