i860-protos.h: Remove the prototype for i860_saveregs.
authorKazu Hirata <kazu@cs.umass.edu>
Sun, 25 Jan 2004 17:41:01 +0000 (17:41 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sun, 25 Jan 2004 17:41:01 +0000 (17:41 +0000)
* 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
gcc/config/i860/i860-protos.h
gcc/config/i860/i860.c
gcc/config/i860/i860.h

index 459e4d0d3a4dba0d5edcf6981d6f51b9adfc4e4c..937288934a2aff67f44e11d2a20285f0c5c56b2e 100644 (file)
@@ -1,3 +1,15 @@
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * 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  <kazu@cs.umass.edu>
 
        * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
index 74568af66b5cb8e3bd7f44caea1e4bfecaded86e..b155b86130d4ebb283de2175b9268567dff501bb 100644 (file)
@@ -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);
index 9946f261c7c288367bf9774bd2c3d72612f28bea..178cab0ad0c3bf3899accef7aed97481618b30c3 100644 (file)
@@ -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;
index c600f0276ec8b5d9a3c6f6b119657232e97c686b..0a518abd4020734f5e0ff5f1b986f68ab2003d19 100644 (file)
@@ -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)