gcc: xtensa: allow XCHAL_* macros to be non-constant
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 14 Jun 2017 17:19:44 +0000 (17:19 +0000)
committerMax Filippov <jcmvbkbc@gcc.gnu.org>
Wed, 14 Jun 2017 17:19:44 +0000 (17:19 +0000)
commit1a711a0b5cb291d875acc4b46a4a39ea9185eff3
treed2e9392c022dcd73efccb21c1b22c8a1bcee4d11
parente72c4afd99c06e29b4f73f61ee0ff9091bf7fa02
gcc: xtensa: allow XCHAL_* macros to be non-constant

XCHAL_* macros from the xtensa-config.h are used in a number of places
that require them to be preprocessor constants. Rewrite these places so
that non-constant XCHAL_* definitions could be used there.

2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.c (xtensa_option_override): Append
MASK_CONST16 to target_flags in the absence of TARGET_L32R.
(hwloop_optimize, hwloop_fail, hwloop_pattern_reg,
 xtensa_doloop_hooks): Define unconditionally.
(xtensa_reorg_loops): Only call reorg_loops in the presence of
TARGET_LOOPS.
* config/xtensa/xtensa.h (TARGET_L32R): New definition.
(TARGET_DEFAULT): Remove XCHAL_HAVE_L32R condition and account
for it in xtensa_option_override.
(HARD_FRAME_POINTER_IS_FRAME_POINTER,
 HARD_FRAME_POINTER_IS_ARG_POINTER): New definitions.

From-SVN: r249202
gcc/ChangeLog
gcc/config/xtensa/xtensa.c
gcc/config/xtensa/xtensa.h