OSDN Git Service

[AArch64, fast-isel] Fall back to SelectionDAG to select tail calls.
authorAkira Hatanaka <ahatanaka@apple.com>
Wed, 13 Aug 2014 23:23:58 +0000 (23:23 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Wed, 13 Aug 2014 23:23:58 +0000 (23:23 +0000)
commitd0ddfb08967515b6e4630a90f3a78bd90118f9c9
treed053fda2c46e206d7b571bce5b66007193447bd4
parent8c9a0319bb537da2774c59d698085e08ac32c63f
[AArch64, fast-isel] Fall back to SelectionDAG to select tail calls.

Certain functions such as objc_autoreleaseReturnValue have to be called as
tail-calls even at -O0. Since normal fast-isel doesn't emit calls as tail calls,
we have to fall back to SelectionDAG to select calls that are marked as tail.

<rdar://problem/17991614>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215600 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64FastISel.cpp
test/CodeGen/AArch64/arm64-abi_align.ll
test/CodeGen/AArch64/tailcall-fastisel.ll [new file with mode: 0644]