Clarify LEGITIMIZE_RELOAD_ADDRESS issues a tad.
From-SVN: r18997
This commit is contained in:
parent
0022a94004
commit
39bdfaa056
1 changed files with 12 additions and 12 deletions
24
gcc/tm.texi
24
gcc/tm.texi
|
@ -4243,21 +4243,26 @@ LEGITIMIZE_RELOAD_ADDRESS appropriately, the intermediate addresses
|
|||
generated for adjacent some stack slots can be made identical, and thus
|
||||
be shared.
|
||||
|
||||
@findex strict_memory_address_p
|
||||
The macro definition may use @code{strict_memory_address_p} to test if
|
||||
the address has become legitimate.
|
||||
@emph{Note}: This macro should be used with caution. It is necessary
|
||||
to know something of how reload works in order to effectively use this,
|
||||
and it is quite easy to produce macros that build in too much knowledge
|
||||
of reload internals.
|
||||
|
||||
@findex push_reload
|
||||
It may use @code{push_reload} to indicate parts that need reloading.
|
||||
@var{opnum}, @var{type} and @var{ind_levels} are usually suitable to be
|
||||
passed unaltered to push_reload.
|
||||
The macro definition should use @code{push_reload} to indicate parts that
|
||||
need reloading; @var{opnum}, @var{type} and @var{ind_levels} are usually
|
||||
suitable to be passed unaltered to @code{push_reload}.
|
||||
|
||||
The code generated by this macro should not alter the substructure of
|
||||
The code generated by this macro must not alter the substructure of
|
||||
@var{x}. If it transforms @var{x} into a more legitimate form, it
|
||||
should assign @var{x} (which will always be a C variable) a new value.
|
||||
This also applies to parts that you change indirectly by calling
|
||||
@code{push_reload}.
|
||||
|
||||
@findex strict_memory_address_p
|
||||
The macro definition may use @code{strict_memory_address_p} to test if
|
||||
the address has become legitimate.
|
||||
|
||||
@findex copy_rtx
|
||||
If you want to change only a part of @var{x}, one standard way of doing
|
||||
this is to use @code{copy_rtx}. Note, however, that is unshares only a
|
||||
|
@ -4266,11 +4271,6 @@ top level, you'll need to replace first the top leve
|
|||
It is not necessary for this macro to come up with a legitimate
|
||||
address; but often a machine-dependent strategy can generate better code.
|
||||
|
||||
@emph{Note}: This macro should be used with caution. It is necessary
|
||||
to know something of how reload works in order to effectively use this,
|
||||
and it is quite easy to produce macros that build in too much knowledge
|
||||
of reload internals.
|
||||
|
||||
@findex GO_IF_MODE_DEPENDENT_ADDRESS
|
||||
@item GO_IF_MODE_DEPENDENT_ADDRESS (@var{addr}, @var{label})
|
||||
A C statement or compound statement with a conditional @code{goto
|
||||
|
|
Loading…
Add table
Reference in a new issue