summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86FastISel.cpp
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2016-01-12 01:08:46 +0000
committerManman Ren <manman.ren@gmail.com>2016-01-12 01:08:46 +0000
commited967f37520fec398aa419514de552e1a917c9ec (patch)
treeaaaa4eed9cdd440a9ae997dcdf05b87a62906a3a /llvm/lib/Target/X86/X86FastISel.cpp
parent921b04e9a4b9cc854bbefeb644f95fdef9d9dd0c (diff)
downloadbcm5719-llvm-ed967f37520fec398aa419514de552e1a917c9ec.tar.gz
bcm5719-llvm-ed967f37520fec398aa419514de552e1a917c9ec.zip
CXX_FAST_TLS calling convention: performance improvement for x86-64.
This is the same change on x86-64 as r255821 on AArch64. rdar://9001553 llvm-svn: 257428
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp
index 629d4d3565f..f48b47934e0 100644
--- a/llvm/lib/Target/X86/X86FastISel.cpp
+++ b/llvm/lib/Target/X86/X86FastISel.cpp
@@ -1002,6 +1002,9 @@ bool X86FastISel::X86SelectRet(const Instruction *I) {
if (!FuncInfo.CanLowerReturn)
return false;
+ if (TLI.supportSplitCSR(FuncInfo.MF))
+ return false;
+
CallingConv::ID CC = F.getCallingConv();
if (CC != CallingConv::C &&
CC != CallingConv::Fast &&
OpenPOWER on IntegriCloud