OSDN Git Service

r113709@merlin: rearnsha | 2006-05-10 22:53:26 +0100
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 May 2006 21:54:06 +0000 (21:54 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 May 2006 21:54:06 +0000 (21:54 +0000)
  * arm.c (arm_struct_value_rtx): Delete.
  (TARGET_STRUCT_VALUE_RTX): Use the default definition.
  (arm_init_cumulative_args): Always initialize nregs to zero.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113683 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 1126c49..35226d1 100644 (file)
@@ -1,3 +1,9 @@
+2006-05-10  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_struct_value_rtx): Delete.
+       (TARGET_STRUCT_VALUE_RTX): Use the default definition.
+       (arm_init_cumulative_args): Always initialize nregs to zero.
+
 2006-05-10  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/27532
index 9438b7c..66d091a 100644 (file)
@@ -163,7 +163,6 @@ static void aof_file_start (void);
 static void aof_file_end (void);
 static void aof_asm_init_sections (void);
 #endif
-static rtx arm_struct_value_rtx (tree, int);
 static void arm_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
                                        tree, int *, int);
 static bool arm_pass_by_reference (CUMULATIVE_ARGS *,
@@ -300,9 +299,6 @@ static bool arm_tls_symbol_p (rtx x);
 #undef TARGET_ARG_PARTIAL_BYTES
 #define TARGET_ARG_PARTIAL_BYTES arm_arg_partial_bytes
 
-#undef TARGET_STRUCT_VALUE_RTX
-#define TARGET_STRUCT_VALUE_RTX arm_struct_value_rtx
-
 #undef  TARGET_SETUP_INCOMING_VARARGS
 #define TARGET_SETUP_INCOMING_VARARGS arm_setup_incoming_varargs
 
@@ -2669,7 +2665,7 @@ arm_init_cumulative_args (CUMULATIVE_ARGS *pcum, tree fntype,
                          tree fndecl ATTRIBUTE_UNUSED)
 {
   /* On the ARM, the offset starts at 0.  */
-  pcum->nregs = ((fntype && aggregate_value_p (TREE_TYPE (fntype), fntype)) ? 1 : 0);
+  pcum->nregs = 0;
   pcum->iwmmxt_nregs = 0;
   pcum->can_split = true;
 
@@ -14835,25 +14831,6 @@ arm_output_load_gr (rtx *operands)
   return "";
 }
 
-static rtx
-arm_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED,
-                     int incoming ATTRIBUTE_UNUSED)
-{
-#if 0
-  /* FIXME: The ARM backend has special code to handle structure
-        returns, and will reserve its own hidden first argument.  So
-        if this macro is enabled a *second* hidden argument will be
-        reserved, which will break binary compatibility with old
-        toolchains and also thunk handling.  One day this should be
-        fixed.  */
-  return 0;
-#else
-  /* Register in which address to store a structure value
-     is passed to a function.  */
-  return gen_rtx_REG (Pmode, ARG_REGISTER (1));
-#endif
-}
-
 /* Worker function for TARGET_SETUP_INCOMING_VARARGS.
 
    On the ARM, PRETEND_SIZE is set in order to have the prologue push the last