diff options
author | Stan Shebs <shebs@apple.com> | 2001-07-10 06:18:36 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2001-07-10 06:18:36 +0000 |
commit | f6155fda7b053edb7ef6c84eed778495e57f7aab (patch) | |
tree | 787fa7c05c30080cd6bcbf66af8b1d34d439a975 /gcc/target.h | |
parent | 4c1643f818ced4e9ad62fcaa9bb37695d8ea76af (diff) | |
download | gcc-f6155fda7b053edb7ef6c84eed778495e57f7aab.tar.gz |
target.h (struct gcc_target): New fields init_builtins and expand_builtin.
* target.h (struct gcc_target): New fields init_builtins and
expand_builtin.
* target-def.h (TARGET_INIT_BUILTINS): New macro.
(TARGET_EXPAND_BUILTIN): New macro.
(TARGET_INITIALIZER): Add them.
* builtins.c: Include target.h.
(expand_builtin): Use targetm.expand_builtin.
(default_init_builtins): New function.
(default_expand_builtin): New function.
* expr.h (default_init_builtins): Declare.
(default_expand_builtin): Declare.
* c-common.c (c_common_nodes_and_builtins): Use
targetm.init_builtins.
* defaults.h (MD_INIT_BUILTINS): Remove.
* Makefile.in (builtins.o): Depend on target.h.
* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
(c4x_init_builtins): Make endlink arg a local.
(c4x_print_operand): Fix typos in adjust_address usages.
* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
(ix86_init_builtins): Call new function only if TARGET_MMX.
* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTIN): Define.
* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
(MD_EXPAND_BUILTIN): Remove.
* doc/tm.texi: Document these changes.
From-SVN: r43888
Diffstat (limited to 'gcc/target.h')
-rw-r--r-- | gcc/target.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h index 126147d46b1..fdd0bb16aaa 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -44,6 +44,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. to gradually reduce the amount of conditional compilation that is scattered throughout GCC. */ +/* Forward declaration for the benefit of prototypes. */ +struct rtx_def; + struct gcc_target { /* Functions that output assembler for the target. */ @@ -93,6 +96,16 @@ struct gcc_target /* Insert attributes on the newly created DECL. */ void (* insert_attributes) PARAMS ((tree decl, tree *attributes)); + + /* Set up target-specific built-in functions. */ + void (* init_builtins) PARAMS ((void)); + + /* Expand a target-specific builtin. */ + struct rtx_def * (* expand_builtin) PARAMS ((tree exp, + struct rtx_def *target, + struct rtx_def *subtarget, + enum machine_mode mode, + int ignore)); }; extern struct gcc_target targetm; |