aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-10-09 22:31:53 +0000
committerRichard Guenther <rguenther@suse.de>2009-10-09 22:31:53 +0000
commit3308c30412b2c08386215ffad9c3423c6a4556ba (patch)
tree8ac7173644937212b4dfddf787410b0ecfa43674 /gcc/target.h
parent47a8e8f29b23a12d9953710e7561a0cfc15b3b4e (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@152606 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h
index f964b6975f8..c65063cbfc6 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -562,6 +562,12 @@ struct gcc_target
/* Set up target-specific built-in functions. */
void (* init_builtins) (void);
+ /* Initialize (if INITIALIZE_P is true) and return the target-specific
+ built-in function decl for CODE.
+ Return NULL if that is not possible. Return error_mark_node if CODE
+ is outside of the range of valid target builtin function codes. */
+ tree (* builtin_decl) (unsigned code, bool initialize_p);
+
/* Expand a target-specific builtin. */
rtx (* expand_builtin) (tree exp, rtx target, rtx subtarget,
enum machine_mode mode, int ignore);