diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-07-05 08:01:48 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-07-05 08:01:48 +0000 |
commit | 89f7b21fb0dfb2b9c7339b44035df76e2265d489 (patch) | |
tree | f95b1bc19179206a2e7d46a7587619466659f205 /gcc/modulo-sched.c | |
parent | f2cf13bd7c00ec7d12e7bddfefeb5eea84a14f74 (diff) | |
download | gcc-89f7b21fb0dfb2b9c7339b44035df76e2265d489.tar.gz |
target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
gcc/
* target-insns.def (doloop_begin, doloop_end): New targetm
instruction patterns.
* loop-init.c: Include target.h.
(pass_loop2::gate): Use the new targetm patterns instead of
HAVE_*/gen_* interface.
(pass_rtl_doloop::gate): Likewise.
(pass_rtl_doloop::execute): Remove preprocessor condition.
* hw-doloop.c: Build unconditionally.
* loop-doloop.c: Likewise.
(doloop_optimize): Use the new targetm patterns instead of
HAVE_*/gen_* interface.
(doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
* modulo-sched.c (doloop_register_get): Likewise.
From-SVN: r225431
Diffstat (limited to 'gcc/modulo-sched.c')
-rw-r--r-- | gcc/modulo-sched.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index 60b39f81d18..193fb07aefd 100644 --- a/gcc/modulo-sched.c +++ b/gcc/modulo-sched.c @@ -362,15 +362,17 @@ ps_num_consecutive_stages (partial_schedule_ptr ps, int id) more than one occurrence in the loop besides the control part or the do-loop pattern is not of the form we expect. */ static rtx -doloop_register_get (rtx_insn *head ATTRIBUTE_UNUSED, rtx_insn *tail ATTRIBUTE_UNUSED) +doloop_register_get (rtx_insn *head, rtx_insn *tail) { -#ifdef HAVE_doloop_end rtx reg, condition; rtx_insn *insn, *first_insn_not_to_check; if (!JUMP_P (tail)) return NULL_RTX; + if (!targetm.code_for_doloop_end) + return NULL_RTX; + /* TODO: Free SMS's dependence on doloop_condition_get. */ condition = doloop_condition_get (tail); if (! condition) @@ -406,9 +408,6 @@ doloop_register_get (rtx_insn *head ATTRIBUTE_UNUSED, rtx_insn *tail ATTRIBUTE_U } return reg; -#else - return NULL_RTX; -#endif } /* Check if COUNT_REG is set to a constant in the PRE_HEADER block, so |