This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]: Stack alignment - take 2


On Sat, Mar 01, 2003 at 02:31:50PM -0500, John David Anglin wrote:
> 	* function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
> 	(assign_stack_local_1): Perform overall stack alignment only when
> 	STACK_ALIGNMENT_NEEDED is non-zero.
> 	* doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
> 
> 	* pa.c (compute_frame_size): Rename fsize to size.  Account for
> 	alignment to a word boundary before general register save block.  Only
> 	account for double-word alignment before floating point register save
> 	block if one or more are saved.  Don't allocate space for %r3 when
> 	frame pointer is needed.
> 	(hppa_expand_prologue): Include alignment to word boundary in local
> 	frame size.
> 	* pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
> 	(STACK_ALIGNMENT_NEEDED): Define.

Ok.

Seems like this ought to be avoidable by intelligently rearranging
the way things are layed out in the stack frame, but that may not
be an option based on ABI constrints.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]