diff options
author | Andreas Krebbel <krebbel1@de.ibm.com> | 2005-02-17 21:09:23 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2005-02-17 21:09:23 +0000 |
commit | c6d010797f94f33e5c012334096bcff30ed83b04 (patch) | |
tree | c5957feb8d6a2c09259a5ac5db59b14bd8b33815 /gcc/doc | |
parent | 7b210806753f58281323b6cc4a05f1ee4f5e19dc (diff) | |
download | gcc-c6d010797f94f33e5c012334096bcff30ed83b04.zip gcc-c6d010797f94f33e5c012334096bcff30ed83b04.tar.gz gcc-c6d010797f94f33e5c012334096bcff30ed83b04.tar.bz2 |
builtins.c (expand_builtin_return_addr): Remove tem parameter.
2005-02-17 Andreas Krebbel <krebbel1@de.ibm.com>
* builtins.c (expand_builtin_return_addr): Remove tem parameter.
tem becomes a local variable which is set to the value of the
back end defined INITIAL_FRAME_ADDRESS macro.
(expand_builtin_frame_address): Omit the base parameter to
expand_builtin_return_addr.
(expand_builtin_profile_func): Likewise.
* config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
(DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
* doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
From-SVN: r95194
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index c14ce5d..023b907 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -2931,6 +2931,18 @@ length of the outgoing arguments. The default is correct for most machines. See @file{function.c} for details. @end defmac +@defmac INITIAL_FRAME_ADDRESS_RTX +A C expression whose value is RTL representing the address of the initial + stack frame. This address is passed to @code{RETURN_ADDR_RTX} and +@code{DYNAMIC_CHAIN_ADDRESS}. +If you don't define this macro, the default is to return +@code{hard_frame_pointer_rtx}. +This default is usually correct unless @code{-fomit-frame-pointer} is in +effect. +Define this macro in order to make @code{__builtin_frame_address (0)} and +@code{__builtin_return_address (0)} work even in absence of a hard frame pointer. +@end defmac + @defmac DYNAMIC_CHAIN_ADDRESS (@var{frameaddr}) A C expression whose value is RTL representing the address in a stack frame where the pointer to the caller's frame is stored. Assume that |