Add a target hook for getting an ABI from a function type
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Sep 2019 16:19:43 +0000 (16:19 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Sep 2019 16:19:43 +0000 (16:19 +0000)
commit002ffd3caa684c3eb30f8f53206439b7aa34b370
treebc1fb384d8c3f5469131ebbe8416b7880c2fc784
parentbd785b44932274f7067105de417938597289962c
Add a target hook for getting an ABI from a function type

This patch adds a target hook that allows targets to return
the ABI associated with a particular function type.  Generally,
when multiple ABIs are in use, it must be possible to tell from
a function type and its attributes which ABI it is using.

2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* target.def (fntype_abi): New target hook.
* doc/tm.texi.in (TARGET_FNTYPE_ABI): Likewise.
* doc/tm.texi: Regenerate.
* target.h (predefined_function_abi): Declare.
* function-abi.cc (fntype_abi): Call targetm.calls.fntype_abi,
if defined.
* config/aarch64/aarch64.h (ARM_PCS_SIMD): New arm_pcs value.
* config/aarch64/aarch64.c: Include function-abi.h.
(aarch64_simd_abi, aarch64_fntype_abi): New functions.
(TARGET_FNTYPE_ABI): Define.

From-SVN: r276308
gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.h
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/function-abi.cc
gcc/target.def
gcc/target.h