diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-23 01:26:40 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-23 01:26:40 +0000 |
commit | da0ecce189850497a51ac568ebf0e8c4cc23ca65 (patch) | |
tree | 37f45bdd0e639d0c77fd372622f5eedd9bcf4b76 /gcc/sched.c | |
parent | b234591528f63c31813f0e0101db64ce4ba607b0 (diff) | |
download | gcc-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.c | 15 |
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)); |