This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: altivec fix for starting_frame_offset
- From: Richard Henderson <rth at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, dje at watson dot ibm dot com
- Date: Wed, 27 Feb 2002 00:49:07 -0800
- Subject: Re: altivec fix for starting_frame_offset
- References: <20020227082931.GA22317@redhat.com>
On Wed, Feb 27, 2002 at 07:29:31PM +1100, Aldy Hernandez wrote:
> * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust
> alignment for altivec.
I disbelieve this affects parameter passing at all.
incoming arguments
----------------------- + <- virtual_incoming_args_rtx
... |FIRST_PARM_OFFSET
---------------------- ++ <- argument pointer
ABI widgetry |STACK_POINTER_OFFSET
---------------------- + <- CFA
----------------------
local variables
---------------------- + <- virtual_stack_vars_rtx
... |STARTING_FRAME_OFFSET
---------------------- + <- frame_pointer_rtx
----------------------
alloca area
---------------------- + <- virtual_stack_dynamic_rtx
outgoing arguments |STACK_DYNAMIC_OFFSET
---------------------- |+ <- virtual_outgoing_args_rtx
ABI widgetry ||STACK_POINTER_OFFSET
---------------------- ++ <- stack pointer
Varargs and saved registers fit in there somewhere, but it's
all controled by the prologue/epilogue generation and
elimination from frame_pointer_rtx to hard_frame_pointer_rtx
or stack_pointer_rtx.
Note that STARTING_FRAME_OFFSET is relative to the frame pointer,
and bears no necessary relation to the stack pointer.
Note that outgoing arguments are relative to the stack pointer.
So: you should explain how this affects argument passing at all.
r~