new argument macro: OUTGOING_FIRST_PARAM_OFFSET!!
Richard Henderson
rth@redhat.com
Wed Feb 27 10:40:00 GMT 2002
On Wed, Feb 27, 2002 at 08:52:54PM +1100, Aldy Hernandez wrote:
> pending further tests, is this ok?
Not quite. Any macro that uses both current_function_outgoing_args_size
and RS6000_SAVE_AREA is now incorrect. These places really should have
been using STACK_POINTER_OFFSET in the first place, but now it's mandatory.
> - #define FIRST_PARM_OFFSET(FNDECL) RS6000_SAVE_AREA
> + #define FIRST_PARM_OFFSET(FNDECL) (TARGET_ALTIVEC_ABI ? 0 : RS6000_SAVE_AREA)
I think I lied to you: the function.c instance of OUTGOING_FIRST_PARM_OFFSET
should really have been FIRST_PARM_OFFSET (it's not outgoing after all).
Which would mean that virtual_incoming_args_rtx is now identical to
arg_pointer_rtx. Or rather, is made identical too early for a29k
and mn10200.
This is horribly tangled. I wonder if we shouldn't just name the
new macro MAGIC_OFFSET_TO_BE_USED_OCCASIONALLY. Sigh.
I guess call the thing INITIAL_ARGS_SIZE and note that it applies
to both virtual_outgoing_args_rtx and virtual_incoming_args_rtx.
r~
More information about the Gcc-patches
mailing list