[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