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