Commit 29e339b9 by Richard Earnshaw Committed by Richard Earnshaw

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
parent 5ac4f3bb
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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment