aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-07-22 18:26:40 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-07-22 18:26:40 -0700
commit19699da4045196c225bcb3a9cac80270617a64e7 (patch)
tree37f45bdd0e639d0c77fd372622f5eedd9bcf4b76 /gcc/sched.c
parent7e4ce834b2867f4c7bb2b44e434f5d2778e23ca3 (diff)
downloadgcc-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.c15
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));