aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-03-11 02:13:57 +0000
committerRichard Stallman <rms@gnu.org>1992-03-11 02:13:57 +0000
commit0e690bdb73fc6e1f8f7c14054dc57c8cc6d861ce (patch)
treef42f602364dd8757aab10df06c649ed36c6737a1 /gcc
parent0310ba22cad44dd5fa1d13002acf8b69044cb598 (diff)
downloadgcc-0e690bdb73fc6e1f8f7c14054dc57c8cc6d861ce.zip
gcc-0e690bdb73fc6e1f8f7c14054dc57c8cc6d861ce.tar.gz
gcc-0e690bdb73fc6e1f8f7c14054dc57c8cc6d861ce.tar.bz2
*** empty log message ***
From-SVN: r431
Diffstat (limited to 'gcc')
-rw-r--r--gcc/jump.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 6e0b5f1..e4a6aad 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1416,6 +1416,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. */
+ while (PREV_INSN (range1beg)
+ && GET_CODE (PREV_INSN (range1beg)) == NOTE)
+ range1beg = PREV_INSN (range1beg);
+
+ while (PREV_INSN (range2beg)
+ && GET_CODE (PREV_INSN (range2beg)) == NOTE)
+ range2beg = PREV_INSN (range2beg);
+
/* Don't move NOTEs for blocks or loops; shift them
outside the ranges, where they'll stay put. */
squeeze_notes (range1beg, range1end);
@@ -2666,7 +2675,7 @@ mark_jump_label (x, insn, cross_jump)
{
if (GET_CODE (insn) == JUMP_INSN)
JUMP_LABEL (insn) = label;
- else if (! find_reg_note (insn, REG_LABEL, 0))
+ else if (! find_reg_note (insn, REG_LABEL, label))
{
rtx next = next_real_insn (label);
/* Don't record labels that refer to dispatch tables.