From 181dd1c5a49707a7901562f374fecf94973cadcf Mon Sep 17 00:00:00 2001 From: nickc Date: Wed, 4 Nov 2009 11:06:36 +0000 Subject: [PATCH] * defaults.h (CONSTANT_ADDRESS_P): Provide a default definition. Make sure that it does not allow CONST_DOUBLEs. * doc/tm.texi (CONSTANT_ADDRESS_P): Update description. * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete. * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete. * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete. * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete. * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete. * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete. * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete. * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete. * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete. * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete. * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete. * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete. * config/score/score.h (CONSTANT_ADDRESS_P): Delete. * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153894 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 20 ++++++++++++++++++++ gcc/config/avr/avr.h | 2 -- gcc/config/bfin/bfin.h | 3 --- gcc/config/cris/cris.h | 2 -- gcc/config/fr30/fr30.h | 10 ---------- gcc/config/frv/frv.h | 10 ---------- gcc/config/m32c/m32c.h | 1 - gcc/config/m68hc11/m68hc11.h | 3 --- gcc/config/mep/mep.h | 2 -- gcc/config/mn10300/mn10300.h | 4 ---- gcc/config/moxie/moxie.h | 4 ---- gcc/config/pdp11/pdp11.h | 4 ---- gcc/config/picochip/picochip.h | 2 -- gcc/config/score/score.h | 3 --- gcc/config/stormy16/stormy16.h | 2 -- gcc/defaults.h | 6 ++++++ 16 files changed, 26 insertions(+), 52 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c705fa3..8afa6d1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,23 @@ +2009-11-04 Nick Clifton + + * defaults.h (CONSTANT_ADDRESS_P): Provide a default definition. + Make sure that it does not allow CONST_DOUBLEs. + * doc/tm.texi (CONSTANT_ADDRESS_P): Update description. + * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete. + * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete. + * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete. + * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete. + * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete. + * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete. + * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete. + * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete. + * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete. + * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete. + * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete. + * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete. + * config/score/score.h (CONSTANT_ADDRESS_P): Delete. + * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete. + 2009-11-04 Richard Guenther PR tree-optimization/41919 diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index 0927e39..782ad11 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -406,8 +406,6 @@ extern int avr_reg_order[]; #define HAVE_POST_INCREMENT 1 #define HAVE_PRE_DECREMENT 1 -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - #define MAX_REGS_PER_ADDRESS 1 #define REG_OK_FOR_BASE_NOSTRICT_P(X) \ diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h index 03a2790..365680e 100644 --- a/gcc/config/bfin/bfin.h +++ b/gcc/config/bfin/bfin.h @@ -911,9 +911,6 @@ typedef struct { /* Addressing Modes */ -/* Recognize any constant value that is a valid address. */ -#define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X)) - /* Nonzero if the constant value X is a legitimate general operand. symbol_ref are not legitimate and will be put into constant pool. See force_const_mem(). diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h index 0fea7d7..3c426b7 100644 --- a/gcc/config/cris/cris.h +++ b/gcc/config/cris/cris.h @@ -950,8 +950,6 @@ struct cum_args {int regs;}; #define HAVE_POST_INCREMENT 1 -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - /* Must be a compile-time constant, so we go with the highest value among all CRIS variants. */ #define MAX_REGS_PER_ADDRESS 2 diff --git a/gcc/config/fr30/fr30.h b/gcc/config/fr30/fr30.h index 20e1571..5e62378 100644 --- a/gcc/config/fr30/fr30.h +++ b/gcc/config/fr30/fr30.h @@ -741,16 +741,6 @@ enum reg_class /*}}}*/ /*{{{ Addressing Modes. */ -/* A C expression that is 1 if the RTX X is a constant which is a valid - address. On most machines, this can be defined as `CONSTANT_P (X)', but a - few machines are more restrictive in which constant addresses are supported. - - `CONSTANT_P' accepts integer-values expressions whose values are not - explicitly known, such as `symbol_ref', `label_ref', and `high' expressions - and `const' arithmetic expressions, in addition to `const_int' and - `const_double' expressions. */ -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - /* A number, the maximum number of registers that can appear in a valid memory address. Note that it is up to you to specify a value equal to the maximum number that `GO_IF_LEGITIMATE_ADDRESS' would ever accept. */ diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h index d48aa1e..d5a7a4a 100644 --- a/gcc/config/frv/frv.h +++ b/gcc/config/frv/frv.h @@ -1927,16 +1927,6 @@ __asm__("\n" \ /* Addressing Modes. */ -/* A C expression that is 1 if the RTX X is a constant which is a valid - address. On most machines, this can be defined as `CONSTANT_P (X)', but a - few machines are more restrictive in which constant addresses are supported. - - `CONSTANT_P' accepts integer-values expressions whose values are not - explicitly known, such as `symbol_ref', `label_ref', and `high' expressions - and `const' arithmetic expressions, in addition to `const_int' and - `const_double' expressions. */ -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - /* A number, the maximum number of registers that can appear in a valid memory address. Note that it is up to you to specify a value equal to the maximum number that `TARGET_LEGITIMATE_ADDRESS_P' would ever accept. */ diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h index c0914d3..78e3115 100644 --- a/gcc/config/m32c/m32c.h +++ b/gcc/config/m32c/m32c.h @@ -560,7 +560,6 @@ typedef struct m32c_cumulative_args #define HAVE_PRE_DECREMENT 1 #define HAVE_POST_INCREMENT 1 -#define CONSTANT_ADDRESS_P(X) CONSTANT_P(X) #define MAX_REGS_PER_ADDRESS 1 /* This is passed to the macros below, so that they can be implemented diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h index ee0f9f6..278ba15 100644 --- a/gcc/config/m68hc11/m68hc11.h +++ b/gcc/config/m68hc11/m68hc11.h @@ -1108,9 +1108,6 @@ extern unsigned char m68hc11_reg_valid_for_index[FIRST_PSEUDO_REGISTER]; && (GET_CODE (XEXP (operand, 0)) == POST_INC) \ && (SP_REG_P (XEXP (XEXP (operand, 0), 0)))) -/* 1 if X is an rtx for a constant that is a valid address. */ -#define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X)) - /* Maximum number of registers that can appear in a valid memory address */ #define MAX_REGS_PER_ADDRESS 2 diff --git a/gcc/config/mep/mep.h b/gcc/config/mep/mep.h index 8b00a44..9d286e3 100644 --- a/gcc/config/mep/mep.h +++ b/gcc/config/mep/mep.h @@ -567,8 +567,6 @@ typedef struct #define TRAMPOLINE_SIZE 20 -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - #define MAX_REGS_PER_ADDRESS 1 #ifdef REG_OK_STRICT diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h index bdbc948..c732aa0 100644 --- a/gcc/config/mn10300/mn10300.h +++ b/gcc/config/mn10300/mn10300.h @@ -600,10 +600,6 @@ struct cum_arg {int nbytes; }; ? gen_rtx_MEM (Pmode, arg_pointer_rtx) \ : (rtx) 0) -/* 1 if X is an rtx for a constant that is a valid address. */ - -#define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X) && GET_CODE (X) != CONST_DOUBLE) - /* Maximum number of registers that can appear in a valid memory address. */ #define MAX_REGS_PER_ADDRESS 2 diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h index f1b77ea..384bce4 100644 --- a/gcc/config/moxie/moxie.h +++ b/gcc/config/moxie/moxie.h @@ -475,10 +475,6 @@ enum reg_class an immediate operand on the target machine. */ #define LEGITIMATE_CONSTANT_P(X) 1 -/* A C expression that is 1 if the RTX X is a constant which is a - valid address. */ -#define CONSTANT_ADDRESS_P(X) CONSTANT_P(X) - /* A number, the maximum number of registers that can appear in a valid memory address. */ #define MAX_REGS_PER_ADDRESS 1 diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h index 8997612..fe8c9e8 100644 --- a/gcc/config/pdp11/pdp11.h +++ b/gcc/config/pdp11/pdp11.h @@ -594,10 +594,6 @@ extern int may_call_alloca; #define MAX_REGS_PER_ADDRESS 1 -/* Recognize any constant value that is a valid address. */ - -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - /* Nonzero if the constant value X is a legitimate general operand. It is given that X satisfies CONSTANT_P or is a CONST_DOUBLE. */ diff --git a/gcc/config/picochip/picochip.h b/gcc/config/picochip/picochip.h index 44559f2..4d0c962 100644 --- a/gcc/config/picochip/picochip.h +++ b/gcc/config/picochip/picochip.h @@ -471,8 +471,6 @@ extern const enum reg_class picochip_regno_reg_class[FIRST_PSEUDO_REGISTER]; /* Addressing Modes */ -#define CONSTANT_ADDRESS_P(X) CONSTANT_P(X) - #define MAX_REGS_PER_ADDRESS 1 /* Legitimize reload address tries machine dependent means of diff --git a/gcc/config/score/score.h b/gcc/config/score/score.h index 0b7af7b..cde9c22 100644 --- a/gcc/config/score/score.h +++ b/gcc/config/score/score.h @@ -688,9 +688,6 @@ typedef struct score_args #define HAVE_PRE_MODIFY_REG 0 #define HAVE_POST_MODIFY_REG 0 -/* Recognize any constant value that is a valid address. */ -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - /* Maximum number of registers that can appear in a valid memory address. */ #define MAX_REGS_PER_ADDRESS 1 diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h index 682f7e6..fa97e8b 100644 --- a/gcc/config/stormy16/stormy16.h +++ b/gcc/config/stormy16/stormy16.h @@ -522,8 +522,6 @@ enum reg_class #define HAVE_PRE_DECREMENT 1 -#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X) - #define MAX_REGS_PER_ADDRESS 1 #ifdef REG_OK_STRICT diff --git a/gcc/defaults.h b/gcc/defaults.h index f1d9683..182de95 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -1154,4 +1154,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define GO_IF_MODE_DEPENDENT_ADDRESS(X, WIN) #endif +/* For most ports anything that evaluates to a constant symbolic + or integer value is acceptable as a constant address. */ +#ifndef CONSTANT_ADDRESS_P +#define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X) && GET_CODE (X) != CONST_DOUBLE) +#endif + #endif /* ! GCC_DEFAULTS_H */ -- 2.7.4