(jump_optimize): When moving a range of instructions,
authorJim Wilson <wilson@gcc.gnu.org>
Wed, 13 Oct 1993 19:26:39 +0000 (12:26 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Wed, 13 Oct 1993 19:26:39 +0000 (12:26 -0700)
include all NOTEs before the range, not just line number notes.

From-SVN: r5774

gcc/jump.c

index f26170f67c1f44e5050aacac46e0a2e7941dedd0..bc740994d62dcbfcf00106e76b3bf3960433ca52 100644 (file)
@@ -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