summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cfgcleanup.c2
2 files changed, 9 insertions, 0 deletions
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 <steven@gcc.gnu.org>
+
+ 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 <rth@redhat.com>
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",
OpenPOWER on IntegriCloud