diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1995-02-24 18:40:03 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1995-02-24 18:40:03 -0800 |
commit | 9e94dc88d3ec245c45cfdb4575ccb6132bc9a207 (patch) | |
tree | 9f1883a2fa838c94e17714699ffe993412ffe455 /gcc | |
parent | ed73e9f119e3231017a0dea36124587287364d00 (diff) | |
download | gcc-9e94dc88d3ec245c45cfdb4575ccb6132bc9a207.zip gcc-9e94dc88d3ec245c45cfdb4575ccb6132bc9a207.tar.gz gcc-9e94dc88d3ec245c45cfdb4575ccb6132bc9a207.tar.bz2 |
(relax_delay_slots): When searching for next CODE_LABEL,
use next_real_insn not next_active_insn.
From-SVN: r9075
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reorg.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index 653c477..6c72f4c 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -3865,7 +3865,12 @@ relax_delay_slots (first) /* If this jump goes to another unconditional jump, thread it, but don't convert a jump into a RETURN here. */ trial = follow_jumps (target_label); - trial = prev_label (next_active_insn (trial)); + /* We use next_real_insn instead of next_active_insn, so that + the special USE insns emitted by reorg won't be ignored. + If they are ignored, then they will get deleted if target_label + is now unreachable, and that would cause mark_target_live_regs + to fail. */ + trial = prev_label (next_real_insn (trial)); if (trial == 0 && target_label != 0) trial = find_end_label (); |