]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/calls.cc
calls.c (initialize_argument_information): If an argument has no stack space associat...
authorRichard Sandiford <rsandifo@redhat.com>
Wed, 27 Aug 2003 07:05:18 +0000 (07:05 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 27 Aug 2003 07:05:18 +0000 (07:05 +0000)
commit648bb15912c20dcc1a601bd0f7c35a8cdb26bbdf
tree4fb176f0e3f8d0be12e1b3e8dc88d2e5e55ee7b6
parent0c7829a97b309d2290ce83d0d1c2a9e23b9dec2e
calls.c (initialize_argument_information): If an argument has no stack space associated with it...

* calls.c (initialize_argument_information): If an argument has no
stack space associated with it, and BLOCK_REG_PADDING is defined,
use it to decide at which end the argument should be padded.
* function.c (assign_parms): Allocate BLKmode stack slots.
* config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
(mips_pad_reg_upward): Declare.
* config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
(CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
(FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
(BLOCK_REG_PADDING): Use mips_pad_reg_upward.
* config/mips/mips.c (struct mips_arg_info): Remove struct_p.
(mips_expand_call): Remove code for generating structure shifts.
(mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
types unless using the EABI.
(function_arg_advance): Don't generate shift instructions.
(function_arg): Don't return them.  Don't short-circuit the
check for double structure chunks for DFmode arguments.
(mips_pad_arg_upward, mips_pad_reg_upward): New functions.
(mips_expand_prologue): Remove code to emit structure shifts.
* config/mips/irix6-libc-compat.c: Remove workarounds for buggy
structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
comments to say that only structure returns are a problem.

From-SVN: r70843
gcc/ChangeLog
gcc/calls.c
gcc/config/mips/irix6-libc-compat.c
gcc/config/mips/mips-protos.h
gcc/config/mips/mips.c
gcc/config/mips/mips.h
gcc/function.c