diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2005-06-29 01:24:27 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2005-06-29 01:24:27 +0000 |
commit | b48f503c9806fab41f3a9e484822b5b00dd31e0a (patch) | |
tree | 6e5206234e2011fe87ca88acfe08dfbe38d900ca /gcc/doc | |
parent | dcb081fc082c2c6ba19b6d82f5fa067d987c30d6 (diff) | |
download | gcc-b48f503c9806fab41f3a9e484822b5b00dd31e0a.zip gcc-b48f503c9806fab41f3a9e484822b5b00dd31e0a.tar.gz gcc-b48f503c9806fab41f3a9e484822b5b00dd31e0a.tar.bz2 |
target.h (gcc_target): New field allocate_initial_value.
* target.h (gcc_target): New field allocate_initial_value.
* target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
(TARGET_INITIALIZER): Include it.
* integrate.c (allocate_initial_values): Use
targetm.allocate_initial_value.
* system.h: Poison ALLOCATE_INITIAL_VALUE.
* config/sh/sh-protos.h (sh_pr_n_sets): Delete.
* config/sh/sh.c (sh_pr_n_sets): Make it static.
(sh_allocate_initila_value): New function.
(TARGET_ALLOCATE_INITIAL_VALUE): Override default.
* config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
* doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
update from ALLOCATE_INITIAL_VALUE.
From-SVN: r101411
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index dca9ad6..2c51ef2 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -9445,14 +9445,14 @@ filling of delay slots can result in branches being redirected, and this may in turn cause a branch offset to overflow. @end defmac -@defmac ALLOCATE_INITIAL_VALUE (@var{hard_reg}) +@deftypefn {Target Hook} rtx TARGET_ALLOCATE_INITIAL_VALUE (rtx @var{hard_reg}) When the initial value of a hard register has been copied in a pseudo register, it is often not necessary to actually allocate another register to this pseudo register, because the original hard register or a stack slot -it has been saved into can be used. @code{ALLOCATE_INITIAL_VALUE}, if -defined, is called at the start of register allocation once for each -hard register that had its initial value copied by using +it has been saved into can be used. @code{TARGET_ALLOCATE_INITIAL_VALUE} +is called at the start of register allocation once for each hard register +that had its initial value copied by using @code{get_func_hard_reg_initial_val} or @code{get_hard_reg_initial_val}. Possible values are @code{NULL_RTX}, if you don't want to do any special allocation, a @code{REG} rtx---that would typically be @@ -9460,10 +9460,12 @@ the hard register itself, if it is known not to be clobbered---or a @code{MEM}. If you are returning a @code{MEM}, this is only a hint for the allocator; it might decide to use another register anyways. -You may use @code{current_function_leaf_function} in the definition of the -macro, functions that use @code{REG_N_SETS}, to determine if the hard +You may use @code{current_function_leaf_function} in the hook, functions +that use @code{REG_N_SETS}, to determine if the hard register in question will not be clobbered. -@end defmac +The default value of this hook is @code{NULL}, which disables any special +allocation. +@end deftypefn @defmac TARGET_OBJECT_SUFFIX Define this macro to be a C string representing the suffix for object |