aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1993-03-14 20:53:37 -0700
committerJeff Law <law@gcc.gnu.org>1993-03-14 20:53:37 -0700
commit5fcd63d09c9d0b4ac22bc2f95e10ce2dc4705a78 (patch)
treeee568b3544497ffcc9193229019fab02cdc10dcb /gcc
parent7963ac373a00ea0f077cb26898a2896bfa389c17 (diff)
downloadgcc-5fcd63d09c9d0b4ac22bc2f95e10ce2dc4705a78.zip
gcc-5fcd63d09c9d0b4ac22bc2f95e10ce2dc4705a78.tar.gz
gcc-5fcd63d09c9d0b4ac22bc2f95e10ce2dc4705a78.tar.bz2
reorg.c (find_end_label): Update unfilled_slots if the return insn we make has a delay slot.
* reorg.c (find_end_label): Update unfilled_slots if the return insn we make has a delay slot. From-SVN: r3736
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reorg.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 96aa371..a2d5db8 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -727,8 +727,12 @@ find_end_label ()
#ifdef HAVE_return
if (HAVE_return)
{
- emit_jump_insn (gen_return ());
+ /* The return we make may have delay slots too. */
+ rtx insn = gen_return();
+ emit_jump_insn (insn);
emit_barrier ();
+ if (num_delay_slots (insn) > 0)
+ obstack_ptr_grow (&unfilled_slots_obstack, insn);
}
#endif
}