On 31/05/12 14:58, Greta Yorsh wrote:
> Helper function for epilogue expansion. Emit RTL for APCS frame epilogue
> (when -mapcs-frame command line option is specified).
> This function is used by a later patch.
>
> For APCS frame epilogue, the compiler currently generates LDM with SP as
> both the base register
> and one of the destination registers. For example:
>
> @ APCS_FRAME epilogue
> ldmfd sp, {r4, fp, sp, pc}
>
> @ non-APCS_FRAME epilogue
> ldmfd sp!, {r4, fp, pc}
>
> The use of SP in LDM register list is deprecated, but this patch does not
> address the problem.
>
> To generate the epilogue for APCS frame in RTL, this patch adds a new
> alternative to arm_addsi2 insn in ARM mode only to generate "sub sp, fp,
> #imm". Previously, there was no pattern to generate sub with SP as the
> destination register and not SP as the operand register.
>
>
> ChangeLog:
>
> gcc
>
> 2012-05-31 Ian Bolton <[email protected]>
> Sameera Deshpande <[email protected]>
> Greta Yorsh <[email protected]>
>
> * config/arm/arm.c (arm_expand_epilogue_apcs_frame): New function.
> * config/arm/arm.md (arm_addsi3) Add an alternative.
>
The FPA support is now obsolete. Please remove that.
OK with that change.
R.