[patch v2] Get rid of stack trampolines for nested functions (3/4)
Jeff Law
law@redhat.com
Mon Sep 12 19:56:00 GMT 2016
On 09/04/2016 02:14 PM, Eric Botcazou wrote:
> These are the individual back-end changes. Only the architectures for which
> native platforms are available are changed for now. The changes were tested
> at AdaCore over the years for every architecture and I'll retest them if they
> are accepted, except for those I cannot access any more (Alpha, MIPS, PA).
>
>
> 2016-07-04 Eric Botcazou <ebotcazou@adacore.com>
>
> * config/aarch64/aarch64.h(TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Define
> * config/alpha/alpha.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
> * config/arm/arm.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
> * config/arm/arm.c (arm_function_ok_for_sibcall): Return false for an
> indirect call by descriptor if all the argument registers are used.
> (arm_relayout_function): Use FUNCTION_ALIGNMENT.
> * config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
> * config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
> * config/mips/mips.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
> * config/pa/pa.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise.
> * config/rs6000/rs6000.h(TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise
> * config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise.
>
I'm going to let the target maintainers own this.
Hell, I can't even remember if the PA port exclusively uses procedure
descriptors. It certainly did for 32bit SOM, but there's the 32bit
portable runtime, fast-indirect-calls and the 64bit runtimes to ponder.
John probably remember this stuff far better than I.
Jeff
More information about the Gcc-patches
mailing list