Ping.

On 2011/2/17 06:01 PM, Chung-Lin Tang wrote:
> Hi,
> this PR is a case where we have a leaf function with a zero-size frame,
> that calls alloca() (here through a C99 VLA).
> 
> The ARM backend recognizes the leaf-and-no-frame opportunity to save an
> unneeded stack alignment. But when calling alloca(), the allocated block
> is of BIGGEST_ALIGNMENT, which is 8-bytes under current AAPCS. Thus a
> stack align may still be needed to place the alloca() returned block
> properly.
> 
> This patch adjusts the early return condition with !cfun->calls_alloca.
> Tested without regressions on ARM-Linux, okay for trunk?
> 
> Also related, the BIGGEST_ALIGNMENT defined for ARM is currently
> ABI-based; 64-bits for AAPCS targets, and 32 for old ABI.  Should this
> also consider arch-level as well? i.e. anything >= ARMv5TE (with ldrd)
> should have this set to 64.
> 
> Thanks,
> Chung-Lin
> 
> 2011-02-17  Chung-Lin Tang  <clt...@codesourcery.com>
> 
>       PR target/43872
>       * config/arm/arm.c (arm_get_frame_offsets): Adjust early
>       return condition with !cfun->calls_alloca.

Reply via email to