diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-07-19 11:16:53 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-07-19 11:16:53 -0600 |
commit | 733fa7ef0a546a980f6bcc02065ed8a467edec18 (patch) | |
tree | 45ea2d219c4e536160a59d24b6bb93a6a688ac0f /gcc | |
parent | 1c2a9b35f73a69b56d1903cc39c0e3f25a33363c (diff) | |
download | gcc-733fa7ef0a546a980f6bcc02065ed8a467edec18.zip gcc-733fa7ef0a546a980f6bcc02065ed8a467edec18.tar.gz gcc-733fa7ef0a546a980f6bcc02065ed8a467edec18.tar.bz2 |
reorg.c (fill_simple_delay_slots): Try filling any insn needing delay slots with a JUMP_INSN.
* reorg.c (fill_simple_delay_slots): Try filling any insn needing
delay slots with a JUMP_INSN.
From-SVN: r4940
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reorg.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index 5b89943..37307d9 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -2635,13 +2635,16 @@ fill_simple_delay_slots (first, non_jumps_p) the unconditional jump. This is done first to avoid having the delay slot of the call filled in the backward scan. Also, since the unconditional jump is likely to also have a delay slot, that - insn must exist when it is subsequently scanned. */ + insn must exist when it is subsequently scanned. + + This is tried on each insn with delay slots as some machines + have insns which perform calls, but are not represented as + CALL_INSNs. */ slots_filled = 0; delay_list = 0; - if (GET_CODE (insn) == CALL_INSN - && (trial = next_active_insn (insn)) + if ((trial = next_active_insn (insn)) && GET_CODE (trial) == JUMP_INSN && simplejump_p (trial) && eligible_for_delay (insn, slots_filled, trial, flags) |