aboutsummaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorSimon Dardis <simon.dardis@imgtec.com>2015-10-26 16:29:31 +0000
committerSimon Dardis <dardiss@gcc.gnu.org>2015-10-26 16:29:31 +0000
commitf52a73a48ee7123e3db494c6b0ac72d0d4359ad9 (patch)
tree9552e1a0126429b27a97fae3c461dbb105d3be55 /gcc/reorg.c
parentbdeb752cf843f95086d96ca7f8908c99a6c81750 (diff)
downloadgcc-f52a73a48ee7123e3db494c6b0ac72d0d4359ad9.zip
gcc-f52a73a48ee7123e3db494c6b0ac72d0d4359ad9.tar.gz
gcc-f52a73a48ee7123e3db494c6b0ac72d0d4359ad9.tar.bz2
target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.
gcc/ * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook. * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document. * doc/tm.texi: Regenerated. * reorg.c (dbr_schedule): Use new hook. * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New. testsuite/ * gcc.target/mips/ds-schedule-1.c: New. * gcc.target/mips/ds-schedule-2.c: New. From-SVN: r229383
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 47b938b..ccd0d71 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -3726,7 +3726,8 @@ dbr_schedule (rtx_insn *first)
{
fill_simple_delay_slots (1);
fill_simple_delay_slots (0);
- fill_eager_delay_slots ();
+ if (!targetm.no_speculation_in_delay_slots_p ())
+ fill_eager_delay_slots ();
relax_delay_slots (first);
}