diff options
author | Anatoly Sokolov <aesok@post.ru> | 2010-05-02 14:49:10 +0400 |
---|---|---|
committer | Anatoly Sokolov <aesok@gcc.gnu.org> | 2010-05-02 14:49:10 +0400 |
commit | 82f81f18bfb02bde22c234feaf9b223a94662925 (patch) | |
tree | 135035b83149e0071966cf5b87b3d84d1448ce95 /gcc/doc | |
parent | 2018489bf4900abea06fd80604f627da073dead2 (diff) | |
download | gcc-82f81f18bfb02bde22c234feaf9b223a94662925.zip gcc-82f81f18bfb02bde22c234feaf9b223a94662925.tar.gz gcc-82f81f18bfb02bde22c234feaf9b223a94662925.tar.bz2 |
target.h (struct calls): Add function_value_regno_p field.
* target.h (struct calls): Add function_value_regno_p field.
* target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
(TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
* targhooks.c (default_function_value_regno_p): New function.
* targhooks.h (default_function_value_regno_p): Declare function.
* rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
* builtins.c. (apply_result_size): (Ditto.).
* combine.c. (likely_spilled_retval_p): (Ditto.).
* mode-switching.c. Include 'target.h'.
(create_pre_exit): Use function_value_regno_p hook.
* Makefile.in (mode-switching.o): Add dependency on TARGET_H.
* doc/tm.texi (FUNCTION_VALUE_REGNO_P,
TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
* config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
* config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
(ix86_function_value_regno_p): Declare as static, change argument
type to const unsigned int.
* config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
From-SVN: r158970
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 6582ab1..a20d48c 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -4461,8 +4461,26 @@ suffices: If the machine has register windows, so that the caller and the called function use different registers for the return value, this macro should recognize only the caller's register numbers. + +This macro has been deprecated. Use @code{TARGET_FUNCTION_VALUE_REGNO_P} +for a new target instead. @end defmac +@deftypefn {Target Hook} bool TARGET_FUNCTION_VALUE_REGNO_P (const unsigned int @var{regno}) +A target hook that return @code{true} if @var{regno} is the number of a hard +register in which the values of called function may come back. + +A register whose use for returning values is limited to serving as the +second of a pair (for a value of type @code{double}, say) need not be +recognized by this target hook. + +If the machine has register windows, so that the caller and the called +function use different registers for the return value, this target hook +should recognize only the caller's register numbers. + +If this hook is not defined, then FUNCTION_VALUE_REGNO_P will be used. +@end deftypefn + @defmac TARGET_ENUM_VA_LIST (@var{idx}, @var{pname}, @var{ptype}) This target macro is used in function @code{c_common_nodes_and_builtins} to iterate through the target specific builtin types for va_list. The |