From f2be8f2b6307f1a7ead128b8b88fb158b17d6efb Mon Sep 17 00:00:00 2001 From: rearnsha Date: Wed, 10 May 2006 21:54:06 +0000 Subject: [PATCH] r113709@merlin: rearnsha | 2006-05-10 22:53:26 +0100 * 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 | 6 ++++++ gcc/config/arm/arm.c | 25 +------------------------ 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1126c490ab3..35226d1350c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-05-10 Richard Earnshaw + + * 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 PR tree-optimization/27532 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 9438b7c25ae..66d091a67bb 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -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 -- 2.11.4.GIT