From 30f58b01a438ce9b02693331ee76995352c28db8 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Sun, 25 Jan 2004 17:41:01 +0000 Subject: [PATCH] i860-protos.h: Remove the prototype for i860_saveregs. * 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. From-SVN: r76572 --- gcc/ChangeLog | 12 ++++++++++++ gcc/config/i860/i860-protos.h | 3 +-- gcc/config/i860/i860.c | 17 +++++++++++++++-- gcc/config/i860/i860.h | 8 ++------ 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 459e4d0d3a4..937288934a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2004-01-25 Kazu Hirata + + * 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. + 2004-01-25 Kazu Hirata * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. 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)