summaryrefslogtreecommitdiff
path: root/gcc/sched.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-07-23 01:26:40 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-07-23 01:26:40 +0000
commitda0ecce189850497a51ac568ebf0e8c4cc23ca65 (patch)
tree37f45bdd0e639d0c77fd372622f5eedd9bcf4b76 /gcc/sched.c
parentb234591528f63c31813f0e0101db64ce4ba607b0 (diff)
downloadgcc-da0ecce189850497a51ac568ebf0e8c4cc23ca65.tar.gz
* haifa-sched.c (reemit_notes): Tidy.
* sched.c (reemit_notes): Duplicate 1998-08-31 patch to haifa's routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28223 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched.c')
-rw-r--r--gcc/sched.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/gcc/sched.c b/gcc/sched.c
index e8cd070e45c..c0eb5dc9651 100644
--- a/gcc/sched.c
+++ b/gcc/sched.c
@@ -2578,16 +2578,25 @@ reemit_notes (insn, last)
if (REG_NOTE_KIND (note) == REG_DEAD
&& GET_CODE (XEXP (note, 0)) == CONST_INT)
{
- if (INTVAL (XEXP (note, 0)) == NOTE_INSN_SETJMP)
+ int note_type = INTVAL (XEXP (note, 0));
+ if (note_type == NOTE_INSN_SETJMP)
{
- CONST_CALL_P (emit_note_after (INTVAL (XEXP (note, 0)), insn))
+ CONST_CALL_P (emit_note_after (note_type, insn))
= CONST_CALL_P (note);
remove_note (insn, note);
note = XEXP (note, 1);
}
+ else if (note_type == NOTE_INSN_RANGE_START
+ || note_type == NOTE_INSN_RANGE_END)
+ {
+ last = emit_note_before (note_type, last);
+ remove_note (insn, note);
+ note = XEXP (note, 1);
+ NOTE_RANGE_INFO (last) = XEXP (note, 0);
+ }
else
{
- last = emit_note_before (INTVAL (XEXP (note, 0)), last);
+ last = emit_note_before (note_type, last);
remove_note (insn, note);
note = XEXP (note, 1);
NOTE_BLOCK_NUMBER (last) = INTVAL (XEXP (note, 0));