Fix loop optimization when ZOL is not available in xtensa configuration

Currently building gcc for xtensa configuration with XCHAL_HAVE_LOOPS
set to 0 fails with the following error:

  xtensa.c:3952: undefined reference to `reorg_loops(bool, hw_doloop_hooks*)'

Only compile target-specific zero-overhead loop optimization code when
TARGET_LOOPS allows it.

2014-12-30  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
	hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
	put under #if TARGET_LOOPS guard.

From-SVN: r219206
This commit is contained in:
Max Filippov 2015-01-05 22:22:36 +00:00 committed by Max Filippov
parent 389d63bb1e
commit c68360000c
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2014-12-30 Max Filippov <jcmvbkbc@gmail.com>
* config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
put under #if TARGET_LOOPS guard.
2015-01-05 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (output_387_binary_op): Use std::swap.

View File

@ -3766,6 +3766,8 @@ xtensa_invalid_within_doloop (const rtx_insn *insn)
/* Optimize LOOP. */
#if TARGET_LOOPS
static bool
hwloop_optimize (hwloop_info loop)
{
@ -3951,6 +3953,12 @@ xtensa_reorg_loops (void)
{
reorg_loops (false, &xtensa_doloop_hooks);
}
#else
static inline void
xtensa_reorg_loops (void)
{
}
#endif
/* Implement the TARGET_MACHINE_DEPENDENT_REORG pass. */