diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-10-13 12:26:39 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-10-13 12:26:39 -0700 |
commit | 1f109a14e9505c5033834393594ca4d6a63c6ae7 (patch) | |
tree | ea1369a7b4790f0a9e3eb098509de129e481388f /gcc | |
parent | 9f5e873c8f495c56a0a59ceefdb31c5d3453de08 (diff) | |
download | gcc-1f109a14e9505c5033834393594ca4d6a63c6ae7.zip gcc-1f109a14e9505c5033834393594ca4d6a63c6ae7.tar.gz gcc-1f109a14e9505c5033834393594ca4d6a63c6ae7.tar.bz2 |
(jump_optimize): When moving a range of instructions,
include all NOTEs before the range, not just line number notes.
From-SVN: r5774
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/jump.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -1734,15 +1734,15 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) rtx range1after, range2after; rtx range1before, range2before; - /* Include in each range any line number before it. */ + /* Include in each range any notes before it, to be + sure that we get the line number note if any, even + if there are other notes here. */ while (PREV_INSN (range1beg) - && GET_CODE (PREV_INSN (range1beg)) == NOTE - && NOTE_LINE_NUMBER (PREV_INSN (range1beg)) > 0) + && GET_CODE (PREV_INSN (range1beg)) == NOTE) range1beg = PREV_INSN (range1beg); while (PREV_INSN (range2beg) - && GET_CODE (PREV_INSN (range2beg)) == NOTE - && NOTE_LINE_NUMBER (PREV_INSN (range2beg)) > 0) + && GET_CODE (PREV_INSN (range2beg)) == NOTE) range2beg = PREV_INSN (range2beg); /* Don't move NOTEs for blocks or loops; shift them |