diff options
author | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-25 17:41:01 +0000 |
---|---|---|
committer | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-25 17:41:01 +0000 |
commit | 3dbe4d04f84a2c349a2a18efc4793589cfaa764f (patch) | |
tree | 3420a1c2297e145f74c4c90cd6c50baf4792740d /gcc/config/i860 | |
parent | 1e63778bffcbe6fc26883ee35c19b4e774e6f947 (diff) | |
download | gcc-3dbe4d04f84a2c349a2a18efc4793589cfaa764f.tar.gz |
* config/i860/i860-protos.h: Remove the prototype for
i860_saveregs.
* config/i860/i860.c (i860_saveregs): Make it static.
(i860_struct_value_rtx): New.
(TARGET_STRUCT_VALUE_RTX): Likewise.
(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
* config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
I860_STRUCT_VALUE_REGNUM.
(EXPAND_BUILTIN_SAVEREGS): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76572 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i860')
-rw-r--r-- | gcc/config/i860/i860-protos.h | 3 | ||||
-rw-r--r-- | gcc/config/i860/i860.c | 17 | ||||
-rw-r--r-- | gcc/config/i860/i860.h | 8 |
3 files changed, 18 insertions, 10 deletions
diff --git a/gcc/config/i860/i860-protos.h b/gcc/config/i860/i860-protos.h index 74568af66b5..b155b86130d 100644 --- a/gcc/config/i860/i860-protos.h +++ b/gcc/config/i860/i860-protos.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for Intel 860. - Copyright (C) 2000, 2003 Free Software Foundation, Inc. + Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc. Hacked substantially by Ron Guilmette (rfg@monkeys.com) to cater to the whims of the System V Release 4 assembler. @@ -44,7 +44,6 @@ extern int load_operand (rtx, enum machine_mode); extern int small_int (rtx, enum machine_mode); extern int logic_int (rtx, enum machine_mode); extern int call_insn_operand (rtx, enum machine_mode); -extern rtx i860_saveregs (void); #ifdef TREE_CODE extern void i860_va_start (tree, rtx); extern rtx i860_va_arg (tree, tree); diff --git a/gcc/config/i860/i860.c b/gcc/config/i860/i860.c index 9946f261c7c..178cab0ad0c 100644 --- a/gcc/config/i860/i860.c +++ b/gcc/config/i860/i860.c @@ -1,5 +1,5 @@ /* Subroutines for insn-output.c for Intel i860 - Copyright (C) 1989, 1991, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright (C) 1989, 1991, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Derived from sparc.c. @@ -1775,7 +1775,7 @@ i860_output_function_epilogue (FILE *asm_file, HOST_WIDE_INT local_bytes) /* Expand a library call to __builtin_saveregs. */ -rtx +static rtx i860_saveregs (void) { rtx fn = gen_rtx_SYMBOL_REF (Pmode, "__builtin_saveregs"); @@ -2101,6 +2101,13 @@ i860_init_libfuncs (void) set_optab_libfunc (umod_optab, SImode, "*.urem"); } +static rtx +i860_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED, + int incoming ATTRIBUTE_UNUSED) +{ + return gen_rtx_REG (Pmode, I860_STRUCT_VALUE_REGNUM); +} + /* Initialize the GCC target structure. */ #undef TARGET_RTX_COSTS #define TARGET_RTX_COSTS i860_rtx_costs @@ -2120,4 +2127,10 @@ i860_init_libfuncs (void) #undef TARGET_BUILD_BUILTIN_VA_LIST #define TARGET_BUILD_BUILTIN_VA_LIST i860_build_builtin_va_list +#undef TARGET_STRUCT_VALUE_RTX +#define TARGET_STRUCT_VALUE_RTX i860_struct_value_rtx + +#undef TARGET_EXPAND_BUILTIN_SAVEREGS +#define TARGET_EXPAND_BUILTIN_SAVEREGS i860_saveregs + struct gcc_target targetm = TARGET_INITIALIZER; diff --git a/gcc/config/i860/i860.h b/gcc/config/i860/i860.h index c600f0276ec..0a518abd402 100644 --- a/gcc/config/i860/i860.h +++ b/gcc/config/i860/i860.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for Intel 860. Copyright (C) 1989, 1991, 1993, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003 Free Software Foundation, Inc. + 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Hacked substantially by Ron Guilmette (rfg@monkeys.com) to cater to the whims of the System V Release 4 assembler. @@ -240,7 +240,7 @@ extern int target_flags; /* Register in which address to store a structure value is passed to a function. */ -#define STRUCT_VALUE_REGNUM 16 +#define I860_STRUCT_VALUE_REGNUM 16 /* Register to use when a source of a floating-point zero is needed. */ #define F0_REGNUM 32 @@ -567,10 +567,6 @@ struct cumulative_args { int ints, floats; }; #define EXIT_IGNORE_STACK 1 -/* Generate necessary RTL for __builtin_saveregs(). */ -#define EXPAND_BUILTIN_SAVEREGS() \ - i860_saveregs() - /* Implement `va_start' for varargs and stdarg. */ #define EXPAND_BUILTIN_VA_START(valist, nextarg) \ i860_va_start (valist, nextarg) |