From 73a69254868411ecd656470eacd02deda397262a Mon Sep 17 00:00:00 2001 From: rth Date: Sat, 4 Apr 1998 18:37:01 +0000 Subject: [PATCH] Clarify LEGITIMIZE_RELOAD_ADDRESS issues a tad. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18997 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tm.texi | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gcc/tm.texi b/gcc/tm.texi index a5c2729..9f70403 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 -- 2.7.4