aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2010-06-29 12:24:04 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2010-06-29 12:24:04 +0000
commit3c07301f6b488870892ac4b79825ba8364b07104 (patch)
tree2a6f923525a191cb71e15517c9b90794e223784f /gcc/function.c
parent0e228dd9078e5482b605b0d778347a77e4b69152 (diff)
downloadgcc-3c07301f6b488870892ac4b79825ba8364b07104.zip
gcc-3c07301f6b488870892ac4b79825ba8364b07104.tar.gz
gcc-3c07301f6b488870892ac4b79825ba8364b07104.tar.bz2
calls.c, [...]: Call targetm.calls.function_arg...
* calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg, targetm.calls.function_incoming_arg, and targetm.calls.function_arg_advance instead of FUNCTION_ARG, FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively. * target.h (struct gcc_target): Add function_arg_advance, function_arg, and function_incoming_arg fields. * target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): (TARGET_FUNCTION_INCOMING_ARG): Define. (TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG, and TARGET_FUNCTION_INCOMING_ARG. * targhooks.h (default_function_arg_advance): Declare. (default_function_arg, default_function_incoming_arg): Declare. * targhooks.c (default_function_arg_advance): New function. (default_function_arg, default_function_incoming_arg): New function. * config/i386/i386.c (function_arg_advance): Rename to... (ix86_function_arg_advance): ...this. Make static. (function_arg): Rename to... (ix86_function_arg): ...this. Make static. (TARGET_FUNCTION_ARG_ADVANCE): Define. (TARGET_FUNCTION_ARG): Define. * config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete. (FUNCTION_ARG): Delete. * config/i386/i386-protos.h (function_arg_advance): Delete prototype. (function_arg): Delete prototype. From-SVN: r161530
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c29
1 files changed, 11 insertions, 18 deletions
diff --git a/gcc/function.c b/gcc/function.c
index f58d3d1..8a03c5a 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -2374,13 +2374,10 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all,
return;
}
-#ifdef FUNCTION_INCOMING_ARG
- entry_parm = FUNCTION_INCOMING_ARG (all->args_so_far, data->promoted_mode,
- data->passed_type, data->named_arg);
-#else
- entry_parm = FUNCTION_ARG (all->args_so_far, data->promoted_mode,
- data->passed_type, data->named_arg);
-#endif
+ entry_parm = targetm.calls.function_incoming_arg (&all->args_so_far,
+ data->promoted_mode,
+ data->passed_type,
+ data->named_arg);
if (entry_parm == 0)
data->promoted_mode = data->passed_mode;
@@ -2404,13 +2401,9 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all,
if (targetm.calls.pretend_outgoing_varargs_named (&all->args_so_far))
{
rtx tem;
-#ifdef FUNCTION_INCOMING_ARG
- tem = FUNCTION_INCOMING_ARG (all->args_so_far, data->promoted_mode,
- data->passed_type, true);
-#else
- tem = FUNCTION_ARG (all->args_so_far, data->promoted_mode,
- data->passed_type, true);
-#endif
+ tem = targetm.calls.function_incoming_arg (&all->args_so_far,
+ data->promoted_mode,
+ data->passed_type, true);
in_regs = tem != NULL;
}
}
@@ -3275,8 +3268,8 @@ assign_parms (tree fndecl)
set_decl_incoming_rtl (parm, data.entry_parm, data.passed_pointer);
/* Update info on where next arg arrives in registers. */
- FUNCTION_ARG_ADVANCE (all.args_so_far, data.promoted_mode,
- data.passed_type, data.named_arg);
+ targetm.calls.function_arg_advance (&all.args_so_far, data.promoted_mode,
+ data.passed_type, data.named_arg);
assign_parm_adjust_stack_rtl (&data);
@@ -3465,8 +3458,8 @@ gimplify_parameters (void)
continue;
/* Update info on where next arg arrives in registers. */
- FUNCTION_ARG_ADVANCE (all.args_so_far, data.promoted_mode,
- data.passed_type, data.named_arg);
+ targetm.calls.function_arg_advance (&all.args_so_far, data.promoted_mode,
+ data.passed_type, data.named_arg);
/* ??? Once upon a time variable_size stuffed parameter list
SAVE_EXPRs (amongst others) onto a pending sizes list. This