diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2006-05-10 21:54:06 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2006-05-10 21:54:06 +0000 |
commit | 29e339b95aa44fa710257c2c79a64d31eb4b31d1 (patch) | |
tree | 8c14736a14e0e9df374f231df1c96dd5b0281cf9 | |
parent | 5ac4f3bb75a7e96a6180eabe1fd274a7318e2e08 (diff) | |
download | gcc-29e339b95aa44fa710257c2c79a64d31eb4b31d1.zip gcc-29e339b95aa44fa710257c2c79a64d31eb4b31d1.tar.gz gcc-29e339b95aa44fa710257c2c79a64d31eb4b31d1.tar.bz2 |
r113709@merlin: rearnsha | 2006-05-10 22:53:26 +0100
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.
From-SVN: r113683
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 25 |
2 files changed, 7 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1126c49..35226d1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 9438b7c..66d091a 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 |