mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 03:46:53 -05:00
xtensa: Simplify the definition of REGNO_OK_FOR_BASE_P() and avoid calling it directly
In recent gcc versions, REGNO_OK_FOR_BASE_P() is not called directly, but rather via regno_ok_for_base_p() which is a wrapper in gcc/addresses.h. The wrapper obtains a hard register number from pseudo via reg_renumber array, so REGNO_OK_FOR_BASE_P() does not need to take this into consideration. On the other hand, since there is only one use of REGNO_OK_FOR_BASE_P() in the target-specific code, it would make more sense to simplify the definition of REGNO_OK_FOR_BASE_P() and replace its call with that of regno_ok_for_base_p(). gcc/ChangeLog: * config/xtensa/xtensa.cc (#include): Add "addresses.h". * config/xtensa/xtensa.h (REGNO_OK_FOR_BASE_P): Simplify to just a call to GP_REG_P(). (BASE_REG_P): Replace REGNO_OK_FOR_BASE_P() with the equivalent call to regno_ok_for_base_p().
This commit is contained in:
committed by
Max Filippov
parent
5b531aa5cc
commit
fe7cf719a9
@@ -41,6 +41,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "diagnostic-core.h"
|
||||
#include "cfgrtl.h"
|
||||
#include "output.h"
|
||||
#include "addresses.h"
|
||||
#include "fold-const.h"
|
||||
#include "stor-layout.h"
|
||||
#include "calls.h"
|
||||
|
||||
@@ -583,15 +583,15 @@ typedef struct xtensa_args
|
||||
for use as a base or index register in operand addresses. */
|
||||
|
||||
#define REGNO_OK_FOR_INDEX_P(NUM) 0
|
||||
#define REGNO_OK_FOR_BASE_P(NUM) \
|
||||
(GP_REG_P (NUM) || GP_REG_P ((unsigned) reg_renumber[NUM]))
|
||||
#define REGNO_OK_FOR_BASE_P(NUM) GP_REG_P (NUM)
|
||||
|
||||
/* C expressions that are nonzero if X (assumed to be a `reg' RTX) is
|
||||
valid for use as a base or index register. */
|
||||
|
||||
#define BASE_REG_P(X, STRICT) \
|
||||
((!(STRICT) && ! HARD_REGISTER_P (X)) \
|
||||
|| REGNO_OK_FOR_BASE_P (REGNO (X)))
|
||||
|| regno_ok_for_base_p (REGNO (X), VOIDmode, ADDR_SPACE_GENERIC, \
|
||||
UNKNOWN, UNKNOWN))
|
||||
|
||||
/* Maximum number of registers that can appear in a valid memory address. */
|
||||
#define MAX_REGS_PER_ADDRESS 1
|
||||
|
||||
Reference in New Issue
Block a user