aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-04-16 23:14:50 -0600
committerJeff Law <law@gcc.gnu.org>1994-04-16 23:14:50 -0600
commit0b21dcf57accd9391c82cb42fad47d3855ae7ea5 (patch)
treef9c6e9c708bdbe28d6baf51769a15a085e44c32c
parent8de2a1973adf2396b2c202044df8330bc271fa94 (diff)
downloadgcc-0b21dcf57accd9391c82cb42fad47d3855ae7ea5.zip
gcc-0b21dcf57accd9391c82cb42fad47d3855ae7ea5.tar.gz
gcc-0b21dcf57accd9391c82cb42fad47d3855ae7ea5.tar.bz2
function.c (locate_and_pad_parm): For ARGS_GROW_DOWNWARD...
* function.c (locate_and_pad_parm): For ARGS_GROW_DOWNWARD, Round sizetree for both upward and downward padding, nuke the (now unnecessary) call to pad_below for arg_size_ptr. From-SVN: r7056
-rw-r--r--gcc/function.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 4f40d0b..73ace46 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3936,7 +3936,7 @@ locate_and_pad_parm (passed_mode, type, in_regs, fndecl,
offset_ptr->constant = - initial_offset_ptr->constant;
offset_ptr->var = 0;
}
- if (where_pad == upward
+ if (where_pad != none
&& (TREE_CODE (sizetree) != INTEGER_CST
|| ((TREE_INT_CST_LOW (sizetree) * BITS_PER_UNIT) % PARM_BOUNDARY)))
sizetree = round_up (sizetree, PARM_BOUNDARY / BITS_PER_UNIT);
@@ -3956,9 +3956,6 @@ locate_and_pad_parm (passed_mode, type, in_regs, fndecl,
arg_size_ptr->constant = (- initial_offset_ptr->constant -
offset_ptr->constant);
}
-/* ADD_PARM_SIZE (*arg_size_ptr, sizetree); */
- if (where_pad == downward)
- pad_below (arg_size_ptr, passed_mode, sizetree);
#else /* !ARGS_GROW_DOWNWARD */
pad_to_arg_alignment (initial_offset_ptr, boundary);
*offset_ptr = *initial_offset_ptr;