summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2016-07-14 13:54:26 +0000
committerNico Weber <nicolasweber@gmx.de>2016-07-14 13:54:26 +0000
commitecdf45b1e6b37ec44681b5fc687f0c94578491af (patch)
tree99f338a7d9e5050629b161cf7866cc8f9220c61c /llvm/lib
parentbed37ccd547cc47ff4c87e9e36f5ae8940dd8e17 (diff)
downloadbcm5719-llvm-ecdf45b1e6b37ec44681b5fc687f0c94578491af.tar.gz
bcm5719-llvm-ecdf45b1e6b37ec44681b5fc687f0c94578491af.zip
Teach fast isel calls and rets about stdcall.
stdcall is callee-pop like thiscall, so the thiscall changes already did most of the work for this. This change only opts stdcall in and adds tests. llvm-svn: 275414
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp
index 182731fe8d2..fae45276914 100644
--- a/llvm/lib/Target/X86/X86FastISel.cpp
+++ b/llvm/lib/Target/X86/X86FastISel.cpp
@@ -1151,6 +1151,7 @@ bool X86FastISel::X86SelectRet(const Instruction *I) {
if (CC != CallingConv::C &&
CC != CallingConv::Fast &&
CC != CallingConv::X86_FastCall &&
+ CC != CallingConv::X86_StdCall &&
CC != CallingConv::X86_ThisCall &&
CC != CallingConv::X86_64_SysV)
return false;
@@ -3025,6 +3026,7 @@ bool X86FastISel::fastLowerCall(CallLoweringInfo &CLI) {
case CallingConv::WebKit_JS:
case CallingConv::Swift:
case CallingConv::X86_FastCall:
+ case CallingConv::X86_StdCall:
case CallingConv::X86_ThisCall:
case CallingConv::X86_64_Win64:
case CallingConv::X86_64_SysV:
OpenPOWER on IntegriCloud