diff options
author | Richard Henderson <rth@redhat.com> | 2009-09-23 15:24:42 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2009-09-23 15:24:42 -0700 |
commit | 2b4fa409a97f9d398698dff291e4e7176747d6b4 (patch) | |
tree | 321b9eb874c077b9b7674eb07850055b8825fc48 /gcc/doc | |
parent | 9193312a099c192f134768d0567fb5d29107a796 (diff) | |
download | gcc-2b4fa409a97f9d398698dff291e4e7176747d6b4.zip gcc-2b4fa409a97f9d398698dff291e4e7176747d6b4.tar.gz gcc-2b4fa409a97f9d398698dff291e4e7176747d6b4.tar.bz2 |
tm.texi (STATIC_CHAIN, [...]): Remove.
* doc/tm.texi (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove.
(TARGET_STATIC_CHAIN): Mention that this hook must be used for
static chain passed in memory.
* system.h (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Poison.
* targhooks.c (default_static_chain): Don't handle STATIC_CHAIN,
STATIC_CHAIN_INCOMING. Issue a sorry if there's no
STATIC_CHAIN_REGNUM defined.
* config/picochip/picochip-protos.h: s/class/klass/.
* config/picochip/picochip.c (TARGET_STATIC_CHAIN): New.
(picochip_static_chain): New.
* config/picochip/picochip.h (STATIC_CHAIN): Remove.
(STATIC_CHAIN_INCOMING): Remove.
* config/xtensa/xtensa.c (TARGET_STATIC_CHAIN): New.
(xtensa_static_chain): New.
* config/xtensa/xtensa.h (STATIC_CHAIN, STATIC_CHAIN_INCOMING):
* Remove.
From-SVN: r152104
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 8a51a9f..27263d9 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -3661,27 +3661,7 @@ not be defined. The static chain register need not be a fixed register. If the static chain is passed in memory, these macros should not be -defined; instead, the next two macros should be defined. -@end defmac - -@defmac STATIC_CHAIN -@defmacx STATIC_CHAIN_INCOMING -If the static chain is passed in memory, these macros provide rtx giving -@code{mem} expressions that denote where they are stored. -@code{STATIC_CHAIN} and @code{STATIC_CHAIN_INCOMING} give the locations -as seen by the calling and called functions, respectively. Often the former -will be at an offset from the stack pointer and the latter at an offset from -the frame pointer. - -@findex stack_pointer_rtx -@findex frame_pointer_rtx -@findex arg_pointer_rtx -The variables @code{stack_pointer_rtx}, @code{frame_pointer_rtx}, and -@code{arg_pointer_rtx} will have been initialized prior to the use of these -macros and should be used to refer to those items. - -If the static chain is passed in a register, the two previous macros should -be defined instead. +defined; instead, the @code{TARGET_STATIC_CHAIN} hook should be used. @end defmac @deftypefn {Target Hook} rtx TARGET_STATIC_CHAIN (const_tree @var{fndecl}, bool @var{incoming_p}) @@ -3692,6 +3672,18 @@ attributes that affect the calling conventions of the function and those calling conventions use different static chain locations. The default version of this hook uses @code{STATIC_CHAIN_REGNUM} et al. + +If the static chain is passed in memory, this hook should be used to +provide rtx giving @code{mem} expressions that denote where they are stored. +Often the @code{mem} expression as seen by the caller will be at an offset +from the stack pointer and the @code{mem} expression as seen by the callee +will be at an offset from the frame pointer. +@findex stack_pointer_rtx +@findex frame_pointer_rtx +@findex arg_pointer_rtx +The variables @code{stack_pointer_rtx}, @code{frame_pointer_rtx}, and +@code{arg_pointer_rtx} will have been initialized and should be used +to refer to those items. @end deftypefn @defmac DWARF_FRAME_REGISTERS |