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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 2 | ||||
-rw-r--r-- | gcc/sched.c | 15 |
3 files changed, 19 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f24efc..776115e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu Jul 22 18:23:56 1999 Richard Henderson <rth@cygnus.com> + + * haifa-sched.c (reemit_notes): Tidy. + * sched.c (reemit_notes): Duplicate 1998-08-31 patch to + haifa's routine. + Thu Jul 22 18:21:04 1999 Richard Henderson <rth@cygnus.com> * explow.c (trunc_int_for_mode): New function. diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 9325f61..60b340f 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -6597,7 +6597,7 @@ reemit_notes (insn, last) } 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)); 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)); |