From: Richard Kenner Date: Fri, 23 Feb 1996 13:47:27 +0000 (-0500) Subject: (sched_analyze): Record NOTE_INSN_SETJMP if no CALL_INSN as prev; X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6e68157d3ff41c37a736656e4f093a41d7c3e28;p=gcc.git (sched_analyze): Record NOTE_INSN_SETJMP if no CALL_INSN as prev; preserve CONST_CALL_P bit. (reemit_notes): Restore CONST_CALL_P. From-SVN: r11342 --- diff --git a/gcc/sched.c b/gcc/sched.c index f279512d6eb..d690a825a8f 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -2278,9 +2278,14 @@ sched_analyze (head, tail) } else if (GET_CODE (insn) == NOTE && (NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG - || NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END)) - loop_notes = gen_rtx (EXPR_LIST, REG_DEAD, - GEN_INT (NOTE_LINE_NUMBER (insn)), loop_notes); + || NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END + || (NOTE_LINE_NUMBER (insn) == NOTE_INSN_SETJMP + && GET_CODE (PREV_INSN (insn)) != CALL_INSN))) + { + loop_notes = gen_rtx (EXPR_LIST, REG_DEAD, + GEN_INT (NOTE_LINE_NUMBER (insn)), loop_notes); + CONST_CALL_P (loop_notes) = CONST_CALL_P (insn); + } if (insn == tail) return n_insns; @@ -3147,7 +3152,8 @@ reemit_notes (insn, last) && GET_CODE (XEXP (note, 0)) == CONST_INT) { if (INTVAL (XEXP (note, 0)) == NOTE_INSN_SETJMP) - emit_note_after (INTVAL (XEXP (note, 0)), insn); + CONST_CALL_P (emit_note_after (INTVAL (XEXP (note, 0)), insn)) + = CONST_CALL_P (note); else last = emit_note_before (INTVAL (XEXP (note, 0)), last); remove_note (insn, note);