From: Richard Henderson Date: Sat, 4 Apr 1998 18:37:01 +0000 (-0800) Subject: Clarify LEGITIMIZE_RELOAD_ADDRESS issues a tad. X-Git-Tag: prereleases/egcs-1.1-prerelease~1819 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=39bdfaa056121fd2a7d54de19863547390be29ab;p=thirdparty%2Fgcc.git Clarify LEGITIMIZE_RELOAD_ADDRESS issues a tad. From-SVN: r18997 --- diff --git a/gcc/tm.texi b/gcc/tm.texi index a5c2729299bc..9f704032f637 100644 --- a/gcc/tm.texi +++ b/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