aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/ARMFastISel.cpp
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2016-01-12 00:47:18 +0000
committerManman Ren <manman.ren@gmail.com>2016-01-12 00:47:18 +0000
commit5e9e65e705d75d616c00fdcebe2b1e2ddb1956bf (patch)
treeaf54de63e0b4ec3e0379a9f9845345f2d49d117a /llvm/lib/Target/ARM/ARMFastISel.cpp
parente3580956eafac63324ba4db80de28cd9a030981a (diff)
downloadllvm-5e9e65e705d75d616c00fdcebe2b1e2ddb1956bf.zip
llvm-5e9e65e705d75d616c00fdcebe2b1e2ddb1956bf.tar.gz
llvm-5e9e65e705d75d616c00fdcebe2b1e2ddb1956bf.tar.bz2
CXX_FAST_TLS calling convention: performance improvement for ARM.
This is the same change on ARM as r255821 on AArch64. rdar://9001553 llvm-svn: 257424
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFastISel.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMFastISel.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMFastISel.cpp b/llvm/lib/Target/ARM/ARMFastISel.cpp
index b5f1ac4..ff2fcfa 100644
--- a/llvm/lib/Target/ARM/ARMFastISel.cpp
+++ b/llvm/lib/Target/ARM/ARMFastISel.cpp
@@ -2083,6 +2083,9 @@ bool ARMFastISel::SelectRet(const Instruction *I) {
if (!FuncInfo.CanLowerReturn)
return false;
+ if (TLI.supportSplitCSR(FuncInfo.MF))
+ return false;
+
// Build a list of return value registers.
SmallVector<unsigned, 4> RetRegs;