diff options
| author | Tim Northover <tnorthover@apple.com> | 2017-04-19 18:07:54 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2017-04-19 18:07:54 +0000 |
| commit | ff168c68dc2abc725f50aa5d9a458641809d98d1 (patch) | |
| tree | 4f862ed4b93ebdd7ff576ee7c7816f4f93f59d51 /llvm/lib | |
| parent | ded7d59f0ea989d1878a5f997a25c5e1578bb437 (diff) | |
| download | bcm5719-llvm-ff168c68dc2abc725f50aa5d9a458641809d98d1.tar.gz bcm5719-llvm-ff168c68dc2abc725f50aa5d9a458641809d98d1.zip | |
ARM: TLS calling convention doesn't preserve r9 or r12 on Darwin.
llvm-svn: 300726
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMCallingConv.td | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMCallingConv.td b/llvm/lib/Target/ARM/ARMCallingConv.td index 7a7b7fede7c..bc7afdb7f1c 100644 --- a/llvm/lib/Target/ARM/ARMCallingConv.td +++ b/llvm/lib/Target/ARM/ARMCallingConv.td @@ -273,9 +273,9 @@ def CSR_iOS_SwiftError : CalleeSavedRegs<(sub CSR_iOS, R8)>; def CSR_iOS_ThisReturn : CalleeSavedRegs<(add LR, R7, R6, R5, R4, (sub CSR_AAPCS_ThisReturn, R9))>; -def CSR_iOS_TLSCall : CalleeSavedRegs<(add LR, SP, - (sequence "R%u", 12, 1), - (sequence "D%u", 31, 0))>; +def CSR_iOS_TLSCall + : CalleeSavedRegs<(add LR, SP, (sub(sequence "R%u", 12, 1), R9, R12), + (sequence "D%u", 31, 0))>; // C++ TLS access function saves all registers except SP. Try to match // the order of CSRs in CSR_iOS. |

