AArch64: disallow x30 & x29 as the destination for indirect tail calls
authorTim Northover <tnorthover@apple.com>
Tue, 10 Jun 2014 10:50:24 +0000 (10:50 +0000)
committerTim Northover <tnorthover@apple.com>
Tue, 10 Jun 2014 10:50:24 +0000 (10:50 +0000)
commite1db6ac10bcdbfde9f32a9180684de5e5c6ee75b
tree056196f5095b1293e5afbeae555e567d711572c8
parentefbf7d1ceb55d891afb39842be75014807c7042f
AArch64: disallow x30 & x29 as the destination for indirect tail calls

As Ana Pazos pointed out, these have to be restored to their incoming values
before a function returns; i.e. before the tail call. So they can't be used
correctly as the destination register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210525 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64RegisterInfo.td
test/CodeGen/AArch64/regress-tail-livereg.ll