aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-10-13 12:26:39 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-10-13 12:26:39 -0700
commit1f109a14e9505c5033834393594ca4d6a63c6ae7 (patch)
treeea1369a7b4790f0a9e3eb098509de129e481388f /gcc
parent9f5e873c8f495c56a0a59ceefdb31c5d3453de08 (diff)
downloadgcc-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.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index f26170f..bc74099 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -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