This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New and undocumented target hooks (cf. PR3386, a regression)


On Fri, Dec 03, 2004 at 02:16:16PM +0100, Steven Bosscher wrote:
> 2002-12-09  Richard Henderson  <rth@redhat.com>
> TARGET_CANNOT_FORCE_CONST_MEM
> 2003-10-29  Richard Henderson  <rth@redhat.com>
> TARGET_BUILD_BUILTIN_VA_LIST

Done.


r~



Index: tm.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/tm.texi,v
retrieving revision 1.400
diff -c -p -d -r1.400 tm.texi
*** tm.texi	3 Dec 2004 15:37:14 -0000	1.400
--- tm.texi	3 Dec 2004 23:13:38 -0000
*************** The default value of this hook is @code{
*** 3925,3930 ****
--- 3925,3935 ----
  false.
  @end deftypefn
  
+ @deftypefn {Target Hook} tree TARGET_BUILD_BUILTIN_VA_LIST (void)
+ This hook returns a type node for @code{va_list} for the target.
+ The default version of the hook returns @code{void*}.
+ @end deftypefn
+ 
  @deftypefn {Target Hook} tree TARGET_GIMPLIFY_VA_ARG_EXPR (tree @var{valist}, tree @var{type}, tree *@var{pre_p}, tree *@var{post_p})
  This hook performs target-specific gimplification of
  @code{VA_ARG_EXPR}.  The first two parameters correspond to the
*************** an immediate operand on the target machi
*** 5151,5156 ****
--- 5156,5173 ----
  anything @code{CONSTANT_P} is valid.
  @end defmac
  
+ @deftypefn {Target Hook} bool TARGET_CANNOT_FORCE_CONST_MEM (rtx @var{x})
+ This hook should return true if @var{x} is of a form that cannot (or
+ should not) be spilled to the constant pool.  The default version of
+ this hook returns false.
+ 
+ The primary reason to define this hook is to prevent reload from
+ deciding that a non-legitimate constant would be better reloaded
+ from the constant pool instead of spilling and reloading a register
+ holding the constant.  This restriction is often true of addresses
+ of TLS symbols for various targets.
+ @end deftypefn
+ 
  @node Condition Code
  @section Condition Code Status
  @cindex condition code status


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]