diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 81606be4cd3..2e2f90c6a64 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-04-01 Steven Bosscher + + PR rtl-optimization/31391 + * cfgcleanup.c (try_optimize_cfg): If a removed label is turned + into a DELETED_LABEL note, and the label is in an empty basic + block, update BB_END as well as BB_HEAD. + 2007-04-01 Richard Henderson PR tree-optimization/31169 diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index ee5c69bd2e6..c2595ea9dc7 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -2034,6 +2034,8 @@ try_optimize_cfg (int mode) reorder_insns_nobb (label, label, bb_note); BB_HEAD (b) = bb_note; + if (BB_END (b) == bb_note) + BB_END (b) = label; } if (dump_file) fprintf (dump_file, "Deleted label in block %i.\n",