Commit 46f9b828 by Richard Kenner

(output_cbranch): When checking for a jump to the given insn's delay slot...

(output_cbranch): When checking for a jump to the given insn's delay
slot, handle the case where JUMP_LABEL for the given insn does not
point to the first label in a series of labels.
(output_bb, output_dbra, output_movb): Likewise.

From-SVN: r10090
parent 10786997
...@@ -3615,7 +3615,7 @@ output_cbranch (operands, nullify, length, negated, insn) ...@@ -3615,7 +3615,7 @@ output_cbranch (operands, nullify, length, negated, insn)
In such cases it is safe to emit nothing. */ In such cases it is safe to emit nothing. */
if (JUMP_LABEL (insn) == next_nonnote_insn (insn)) if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
return ""; return "";
/* If this is a long branch with its delay slot unfilled, set `nullify' /* If this is a long branch with its delay slot unfilled, set `nullify'
...@@ -3731,7 +3731,7 @@ output_bb (operands, nullify, length, negated, insn, which) ...@@ -3731,7 +3731,7 @@ output_bb (operands, nullify, length, negated, insn, which)
is only used when optimizing; jump optimization should eliminate the is only used when optimizing; jump optimization should eliminate the
jump. But be prepared just in case. */ jump. But be prepared just in case. */
if (JUMP_LABEL (insn) == next_nonnote_insn (insn)) if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
return ""; return "";
/* If this is a long branch with its delay slot unfilled, set `nullify' /* If this is a long branch with its delay slot unfilled, set `nullify'
...@@ -3862,7 +3862,7 @@ output_dbra (operands, insn, which_alternative) ...@@ -3862,7 +3862,7 @@ output_dbra (operands, insn, which_alternative)
/* A conditional branch to the following instruction (eg the delay slot) is /* A conditional branch to the following instruction (eg the delay slot) is
asking for a disaster. Be prepared! */ asking for a disaster. Be prepared! */
if (JUMP_LABEL (insn) == next_nonnote_insn (insn)) if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
{ {
if (which_alternative == 0) if (which_alternative == 0)
return "ldo %1(%0),%0"; return "ldo %1(%0),%0";
...@@ -3968,7 +3968,7 @@ output_movb (operands, insn, which_alternative, reverse_comparison) ...@@ -3968,7 +3968,7 @@ output_movb (operands, insn, which_alternative, reverse_comparison)
/* A conditional branch to the following instruction (eg the delay slot) is /* A conditional branch to the following instruction (eg the delay slot) is
asking for a disaster. Be prepared! */ asking for a disaster. Be prepared! */
if (JUMP_LABEL (insn) == next_nonnote_insn (insn)) if (next_active_insn (JUMP_LABEL (insn)) == next_active_insn (insn))
{ {
if (which_alternative == 0) if (which_alternative == 0)
return "copy %1,%0"; return "copy %1,%0";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment