defaults.h (LEGITIMIZE_ADDRESS): Provide a default definition.

* 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.

From-SVN: r79066
This commit is contained in:
Kazu Hirata 2004-03-07 20:23:32 +00:00 committed by Kazu Hirata
parent cd2f1c7a62
commit 3e759edad2
15 changed files with 18 additions and 133 deletions

View 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.

View 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) \

View 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

View 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;'

View File

@ -886,23 +886,6 @@ struct cum_arg
while (0)
#endif
/* 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.

View 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

View 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.

View 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) \

View 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. */

View File

@ -846,22 +846,6 @@ extern int may_call_alloca;
}
/* 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 */

View 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

View File

@ -976,21 +976,6 @@ do { \
} while (0)
/* 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. */

View 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); } } }
/* 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

View 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 */

View 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