aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/tm.texi17
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19a5b78..36f9530 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-03 Richard Henderson <rth@redhat.com>
+
+ * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
+ (TARGET_CANNOT_FORCE_CONST_MEM): New.
+
2004-12-04 Alan Modra <amodra@bigpond.net.au>
PR middle end/18718
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index dfc1878..46a9adf 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -3925,6 +3925,11 @@ The default value of this hook is @code{NULL}, which is treated as always
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
@@ -5151,6 +5156,18 @@ an immediate operand on the target machine. You can assume that
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