From: Jim Wilson Date: Sat, 25 Feb 1995 02:40:03 +0000 (-0800) Subject: (relax_delay_slots): When searching for next CODE_LABEL, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9e94dc88d3ec245c45cfdb4575ccb6132bc9a207;p=gcc.git (relax_delay_slots): When searching for next CODE_LABEL, use next_real_insn not next_active_insn. From-SVN: r9075 --- diff --git a/gcc/reorg.c b/gcc/reorg.c index 653c477235c..6c72f4c32af 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 ();