aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-10-09 22:31:53 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-10-09 22:31:53 +0000
commite9e4b3a892d0d19418f23bb17bdeac33f9a8bfd2 (patch)
tree8ac7173644937212b4dfddf787410b0ecfa43674 /gcc/doc
parentd0a9804e353b33d339e20f0aa2bd458a4ff08649 (diff)
downloadgcc-e9e4b3a892d0d19418f23bb17bdeac33f9a8bfd2.zip
gcc-e9e4b3a892d0d19418f23bb17bdeac33f9a8bfd2.tar.gz
gcc-e9e4b3a892d0d19418f23bb17bdeac33f9a8bfd2.tar.bz2
re PR lto/41638 (Back-end builtins are mishandled)
2009-10-09 Richard Guenther <rguenther@suse.de> PR lto/41638 * target-def.h (TARGET_BUILTIN_DECL): Define. (TARGET_INITIALIZER): Add TARGET_BUILTIN_DECL. * target.h (struct gcc_target): Add builtin_decl target hook. * doc/tm.texi (TARGET_BUILTIN_DECL): Document. * lto-streamer-in.c (lto_get_builtin_tree): Fix handling of target builtins. * lto-streamer-out.c (lto_output_tree_pointers): Use sorry, not gcc_unreachable. (lto_output_builtin_tree): Sorry if the target does not support streaming target builtins. * config/rs6000/rs6000.c (TARGET_BUILTIN_DECL): Define. (rs6000_builtin_decl): New function. * config/i386/i386.c (TARGET_BUILTIN_DECL): Define. (ix86_builtin_decl): New function. From-SVN: r152606
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 27263d9..db42742 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -10532,6 +10532,16 @@ only language front ends that use those two functions will call
@samp{TARGET_INIT_BUILTINS}.
@end deftypefn
+@deftypefn {Target Hook} tree TARGET_BUILTIN_FUNCTION (unsigned @var{code}, bool @var{initialize_p})
+Define this hook if you have any machine-specific built-in functions
+that need to be defined. It should be a function that returns the
+builtin function declaration for the builtin function code @var{code}.
+If there is no such builtin and it cannot be initialized at this time
+if @var{initialize_p} is true the function should return @code{NULL_TREE}.
+If @var{code} is out of range the function should return
+@code{error_mark_node}.
+@end deftypefn
+
@deftypefn {Target Hook} rtx TARGET_EXPAND_BUILTIN (tree @var{exp}, rtx @var{target}, rtx @var{subtarget}, enum machine_mode @var{mode}, int @var{ignore})
Expand a call to a machine specific built-in function that was set up by