altivec fix for starting_frame_offset
Richard Henderson
rth@redhat.com
Wed Feb 27 01:34:00 GMT 2002
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~
More information about the Gcc-patches
mailing list