summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-01 18:26:00 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-01 18:26:00 +0000
commit6ca330f8457efa73705c3d74963b5ded651a9a4c (patch)
tree25e1523fe427b1555d249aa5184ca9317aea6ae2 /gcc
parent6291249b40959d2fba26f20841b0bcc4bf63d80d (diff)
downloadgcc-6ca330f8457efa73705c3d74963b5ded651a9a4c.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123406 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-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",