summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-14 18:22:30 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-14 18:22:30 +0000
commit2e090bf6e1d7ca8109ebaa08b66396353da0b3fe (patch)
treeab23e8dc36fda4a57ede610548ba1d5e93c14f3d /gcc/calls.c
parent33eb84dc97b914438f71fdffdff3913ddaa46abe (diff)
downloadgcc-2e090bf6e1d7ca8109ebaa08b66396353da0b3fe.tar.gz
2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Alan Modra <amodra@gmail.com> * function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE target macro. (locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE. Use it instead of evaluating target macro REG_PARM_STACK_SPACE every time. (assign_parm_find_entry_rtl): Update call. * calls.c (initialize_argument_information): Update call. (emit_library_call_value_1): Likewise. * expr.h (locate_and_pad_parm): Update prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204798 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 7e4ca3a1d9f..4dcdb27c1c1 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1326,6 +1326,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
#else
args[i].reg != 0,
#endif
+ reg_parm_stack_space,
args[i].pass_on_stack ? 0 : args[i].partial,
fndecl, args_size, &args[i].locate);
#ifdef BLOCK_REG_PADDING
@@ -3736,7 +3737,8 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
#else
argvec[count].reg != 0,
#endif
- 0, NULL_TREE, &args_size, &argvec[count].locate);
+ reg_parm_stack_space, 0,
+ NULL_TREE, &args_size, &argvec[count].locate);
if (argvec[count].reg == 0 || argvec[count].partial != 0
|| reg_parm_stack_space > 0)
@@ -3823,7 +3825,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
#else
argvec[count].reg != 0,
#endif
- argvec[count].partial,
+ reg_parm_stack_space, argvec[count].partial,
NULL_TREE, &args_size, &argvec[count].locate);
args_size.constant += argvec[count].locate.size.constant;
gcc_assert (!argvec[count].locate.size.var);