This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: follow-up patch: PREFERRED_STACK_BOUNDARY
- To: Zack Weinberg <zackw at panix dot com>
- Subject: Re: follow-up patch: PREFERRED_STACK_BOUNDARY
- From: Richard Henderson <rth at redhat dot com>
- Date: Sat, 11 Aug 2001 14:39:40 -0700
- Cc: gcc-patches at gcc dot gnu dot org
- References: <20010810212617.A12834@panix.com>
On Fri, Aug 10, 2001 at 09:26:17PM -0400, Zack Weinberg wrote:
> #if PREFERRED_STACK_BOUNDARY != BIGGEST_ALIGNMENT
>
> and that seems like an awfully strong constraint... It *is* inside
> another #if block, for SETJMP_VIA_SAVE_AREA, but still.
Worse, both of these can depend on flags, and so cannot be
checked in the preprocessor.
I guess the assumption is that the setjmp block needs
BIGGEST_ALIGNMENT. Not sure how that follows. However,
there are only two targets that set SETJMP_VIA_SAVE_AREA,
and both have STACK_BOUNDARY == BIGGEST_ALIGNMENT.
> * defaults.h: Define PREFERRED_STACK_BOUNDARY to
> STACK_BOUNDARY if not already defined.
>
> * calls.c, function.c, reload1.c, explow.c: Don't default
> PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
> PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
>
> * doc/tm.texi: Document that STACK_BOUNDARY is required;
> clarify difference between it and PREFERRED_STACK_BOUNDARY.
Ok, if you change the #if test mentioned above to a
run-time test.
r~