Add support for nest attribute to AArch64 backend
authorRenato Golin <renato.golin@linaro.org>
Thu, 9 Jul 2015 10:18:02 +0000 (10:18 +0000)
committerRenato Golin <renato.golin@linaro.org>
Thu, 9 Jul 2015 10:18:02 +0000 (10:18 +0000)
commit86b4ed2fc40cb2dec2b3cae99dde2371089343a2
treed4c19b627ad61d0b08da16f53eda0df3b9895b6f
parent6055ca7bf4a7790a28042e31ab6c926539b35a73
Add support for nest attribute to AArch64 backend

The nest attribute is currently supported on the x86 (32-bit) and x86-64
backends, but not on ARM (32-bit) or AArch64. This patch adds support for
nest to the AArch64 backend.

Register x18 is used by GCC for this purpose and hence is used here.
As discussed on the GCC mailing list the register choice is an ABI issue
and so choosing the same register as GCC means __builtin_call_with_static_chain
is compatible.

Patch by Stephen Cross.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241794 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64CallingConvention.td