aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2002-09-17 09:03:57 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2002-09-17 09:03:57 +0000
commit07532fad028474b38d707adf3a839feea9faf853 (patch)
tree17b3a2e1101e59f0f62bab7b90c71b6a80e7ed07 /gcc
parent6d9f7a686659d0e0b69d8394743ec27a87e0c4d7 (diff)
downloadgcc-07532fad028474b38d707adf3a839feea9faf853.zip
gcc-07532fad028474b38d707adf3a839feea9faf853.tar.gz
gcc-07532fad028474b38d707adf3a839feea9faf853.tar.bz2
cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
* cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned NOTE_INSN_LOOP_CONT notes when deleting basic blocks. From-SVN: r57243
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfgrtl.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ee29a5a..086cdd5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-17 Roger Sayle <roger@eyesopen.com>
+
+ * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
+ NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
+
2002-09-16 Richard Henderson <rth@redhat.com>
* expr.c (emit_block_move): Set memory block size as appropriate
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 25a5c9f..a721239 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -360,13 +360,15 @@ flow_delete_block_noexpunge (b)
and remove the associated NOTE_INSN_EH_REGION_BEG and
NOTE_INSN_EH_REGION_END notes. */
- /* Get rid of all NOTE_INSN_PREDICTIONs hanging before the block. */
+ /* Get rid of all NOTE_INSN_PREDICTIONs and NOTE_INSN_LOOP_CONTs
+ hanging before the block. */
for (insn = PREV_INSN (b->head); insn; insn = PREV_INSN (insn))
{
if (GET_CODE (insn) != NOTE)
break;
- if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_PREDICTION)
+ if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_PREDICTION
+ || NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_CONT)
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
}