OSDN Git Service

* defaults.h (LEGITIMIZE_ADDRESS): Provide a default
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 7 Mar 2004 20:23:32 +0000 (20:23 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 7 Mar 2004 20:23:32 +0000 (20:23 +0000)
definition.
* config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
config/h8300/h8300.h, config/ia64/ia64.h,
config/mcore/mcore.h, config/mmix/mmix.h,
config/ns32k/ns32k.h, config/pdp11/pdp11.h,
config/stormy16/stormy16.h, config/v850/v850.h,
config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
* doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79066 138bc75d-0d04-0410-961f-82ee72b054a4

15 files changed:
gcc/ChangeLog
gcc/config/arc/arc.h
gcc/config/fr30/fr30.h
gcc/config/frv/frv.h
gcc/config/h8300/h8300.h
gcc/config/ia64/ia64.h
gcc/config/mcore/mcore.h
gcc/config/mmix/mmix.h
gcc/config/ns32k/ns32k.h
gcc/config/pdp11/pdp11.h
gcc/config/stormy16/stormy16.h
gcc/config/v850/v850.h
gcc/config/vax/vax.h
gcc/defaults.h
gcc/doc/tm.texi

index b0c115e..62502e6 100644 (file)
@@ -1,3 +1,16 @@
+2004-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * defaults.h (LEGITIMIZE_ADDRESS): Provide a default
+       definition.
+       * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
+       config/h8300/h8300.h, config/ia64/ia64.h,
+       config/mcore/mcore.h, config/mmix/mmix.h,
+       config/ns32k/ns32k.h, config/pdp11/pdp11.h,
+       config/stormy16/stormy16.h, config/v850/v850.h,
+       config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
+       * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
+       definition.
+
 2004-03-07  Roger Sayle  <roger@eyesopen.com>
 
        * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
index 4804440..18b8f6f 100644 (file)
@@ -906,21 +906,6 @@ do { \
     goto ADDR;                                         \
 }
 
-/* Try machine-dependent ways of modifying an illegitimate address
-   to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
-
-   OLDX is the address as it was before break_out_memory_refs was called.
-   In some cases it is useful to look at this to decide what needs to be done.
-
-   MODE and WIN are passed so that this macro can use
-   GO_IF_LEGITIMATE_ADDRESS.
-
-   It is always safe for this macro to do nothing.  It exists to recognize
-   opportunities to optimize the output.  */
-
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
-
 /* Go to LABEL if ADDR (a legitimate address expression)
    has an effect that depends on the machine mode it is used for.  */
 #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL) \
index 0ab0e72..c7459f8 100644 (file)
@@ -988,27 +988,6 @@ do                                                                         \
    will reload one or both registers only if neither labeling works.  */
 #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
 
-/* A C compound statement that attempts to replace X with a valid memory
-   address for an operand of mode MODE.  WIN will be a C statement label
-   elsewhere in the code; the macro definition may use
-
-        GO_IF_LEGITIMATE_ADDRESS (MODE, X, WIN);
-
-   to avoid further processing if the address has become legitimate.
-
-   X will always be the result of a call to `break_out_memory_refs', and OLDX
-   will be the operand that was given to that function to produce X.
-
-   The code generated by this macro should not alter the substructure of X.  If
-   it transforms X into a more legitimate form, it should assign X (which will
-   always be a C variable) a new value.
-
-   It is not necessary for this macro to come up with a legitimate address.
-   The compiler has standard ways of doing so in all cases.  In fact, it is
-   safe for this macro to do nothing.  But often a machine-dependent strategy
-   can generate better code.  */
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
-
 /* A C statement or compound statement with a conditional `goto LABEL;'
    executed if memory address X (an RTX) can have different meanings depending
    on the machine mode of the memory reference it is used for or if the address
index cfcab0e..d1f3082 100644 (file)
@@ -2410,8 +2410,6 @@ __asm__("\n"                                                              \
    will reload one or both registers only if neither labeling works.  */
 #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
 
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
-
 #define FIND_BASE_TERM frv_find_base_term
 
 /* A C statement or compound statement with a conditional `goto LABEL;'
index aad99ec..67fe01f 100644 (file)
@@ -886,23 +886,6 @@ struct cum_arg
   while (0)
 #endif
 \f
-/* Try machine-dependent ways of modifying an illegitimate address
-   to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
-
-   OLDX is the address as it was before break_out_memory_refs was called.
-   In some cases it is useful to look at this to decide what needs to be done.
-
-   MODE and WIN are passed so that this macro can use
-   GO_IF_LEGITIMATE_ADDRESS.
-
-   It is always safe for this macro to do nothing.  It exists to recognize
-   opportunities to optimize the output.
-
-   For the H8/300, don't do anything.  */
-
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)  {}
-
 /* Go to LABEL if ADDR (a legitimate address expression)
    has an effect that depends on the machine mode it is used for.
 
index c52c751..69a2954 100644 (file)
@@ -1630,13 +1630,6 @@ do {                                                                     \
 
 #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
 
-/* A C compound statement that attempts to replace X with a valid memory
-   address for an operand of mode MODE.
-
-   This must be present, but there is nothing useful to be done here.  */
-
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
-
 /* A C statement or compound statement with a conditional `goto LABEL;'
    executed if memory address X (an RTX) can have different meanings depending
    on the machine mode of the memory reference it is used for or if the address
index a344a28..95805d1 100644 (file)
@@ -806,7 +806,6 @@ extern const enum reg_class reg_class_from_letter[];
    On the MCore, allow anything but a double.  */
 #define LEGITIMATE_CONSTANT_P(X) (GET_CODE(X) != CONST_DOUBLE)
 
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
 /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx
    and check its validity for a certain class.
    We have two alternate definitions for each of them.
index 4cb3075..b4df95d 100644 (file)
@@ -835,8 +835,6 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS;
 
 #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
 
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
-
 #define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL)
 
 #define LEGITIMATE_CONSTANT_P(X) \
index b4b1455..f42fde0 100644 (file)
@@ -1057,23 +1057,6 @@ __transfer_from_trampoline ()            \
     }                                                                  \
 }
 
-/* Try machine-dependent ways of modifying an illegitimate address
-   to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
-
-   OLDX is the address as it was before break_out_memory_refs was called.
-   In some cases it is useful to look at this to decide what needs to be done.
-
-   MODE and WIN are passed so that this macro can use
-   GO_IF_LEGITIMATE_ADDRESS.
-
-   It is always safe for this macro to do nothing.  It exists to recognize
-   opportunities to optimize the output.
-
-   For the ns32k, we do nothing */
-
-#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)   {}
-
 /* Nonzero if the constant value X is a legitimate general operand
    when generating PIC code.  It is given that flag_pic is on and
    that X satisfies CONSTANT_P or is a CONST_DOUBLE.  */
index 6019843..568a0ad 100644 (file)
@@ -846,22 +846,6 @@ extern int may_call_alloca;
 }
 
 \f
-/* Try machine-dependent ways of modifying an illegitimate address
-   to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
-
-   OLDX is the address as it was before break_out_memory_refs was called.
-   In some cases it is useful to look at this to decide what needs to be done.
-
-   MODE and WIN are passed so that this macro can use
-   GO_IF_LEGITIMATE_ADDRESS.
-
-   It is always safe for this macro to do nothing.  It exists to recognize
-   opportunities to optimize the output.  */
-
-#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)    {}
-
-
 /* Go to LABEL if ADDR (a legitimate address expression)
    has an effect that depends on the machine mode it is used for.
    On the pdp this is for predec/postinc */
index 09584ad..be69dcb 100644 (file)
@@ -594,8 +594,6 @@ do {                                                        \
 
 #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
 
-#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
-
 /* On this chip, this is true if the address is valid with an offset
    of 0 but not of 6, because in that case it cannot be used as an
    address for DImode or DFmode, or if the address is a post-increment
index 74a080c..6f32821 100644 (file)
@@ -976,21 +976,6 @@ do {                                                                       \
 } while (0)
 
 \f
-/* Try machine-dependent ways of modifying an illegitimate address
-   to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
-
-   OLDX is the address as it was before break_out_memory_refs was called.
-   In some cases it is useful to look at this to decide what needs to be done.
-
-   MODE and WIN are passed so that this macro can use
-   GO_IF_LEGITIMATE_ADDRESS.
-
-   It is always safe for this macro to do nothing.  It exists to recognize
-   opportunities to optimize the output.  */
-
-#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}
-
 /* Go to LABEL if ADDR (a legitimate address expression)
    has an effect that depends on the machine mode it is used for.  */
 
index 3bc04b9..1cfcd51 100644 (file)
@@ -758,23 +758,6 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
            goto ADDR;                                                  \
          GO_IF_REG_PLUS_INDEX (XEXP (X, 0), MODE, ADDR); } } }
 \f
-/* Try machine-dependent ways of modifying an illegitimate address
-   to be legitimate.  If we find one, return the new, valid address.
-   This macro is used in only one place: `memory_address' in explow.c.
-
-   OLDX is the address as it was before break_out_memory_refs was called.
-   In some cases it is useful to look at this to decide what needs to be done.
-
-   MODE and WIN are passed so that this macro can use
-   GO_IF_LEGITIMATE_ADDRESS.
-
-   It is always safe for this macro to do nothing.  It exists to recognize
-   opportunities to optimize the output.
-
-   For the VAX, nothing needs to be done.  */
-
-#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}
-
 /* Go to LABEL if ADDR (a legitimate address expression)
    has an effect that depends on the machine mode it is used for.
    On the VAX, the predecrement and postincrement address depend thus
index 927e98a..7d34e3c 100644 (file)
@@ -703,4 +703,8 @@ You Lose!  You must define PREFERRED_DEBUGGING_TYPE!
 #define SHIFT_COUNT_TRUNCATED 0
 #endif
 
+#ifndef LEGITIMIZE_ADDRESS
+#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
+#endif
+
 #endif  /* ! GCC_DEFAULTS_H */
index 1bf6def..f464bea 100644 (file)
@@ -4914,7 +4914,7 @@ should assign @var{x} (which will always be a C variable) a new value.
 
 It is not necessary for this macro to come up with a legitimate
 address.  The compiler has standard ways of doing so in all cases.  In
-fact, it is safe for this macro to do nothing.  But often a
+fact, it is safe to omit this macro.  But often a
 machine-dependent strategy can generate better code.
 @end defmac