diff options
author | Richard Henderson <rth@cygnus.com> | 1999-07-22 18:26:40 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-07-22 18:26:40 -0700 |
commit | 19699da4045196c225bcb3a9cac80270617a64e7 (patch) | |
tree | 37f45bdd0e639d0c77fd372622f5eedd9bcf4b76 /gcc/sched.c | |
parent | 7e4ce834b2867f4c7bb2b44e434f5d2778e23ca3 (diff) | |
download | gcc-19699da4045196c225bcb3a9cac80270617a64e7.zip gcc-19699da4045196c225bcb3a9cac80270617a64e7.tar.gz gcc-19699da4045196c225bcb3a9cac80270617a64e7.tar.bz2 |
haifa-sched.c (reemit_notes): Tidy.
* haifa-sched.c (reemit_notes): Tidy.
* sched.c (reemit_notes): Duplicate 1998-08-31 patch to
haifa's routine.
From-SVN: r28223
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 e8cd070..c0eb5dc 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)); |