diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-11-22 15:18:28 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-11-22 15:18:28 +0000 |
commit | 9519b689c843b01a86610b6e633ee0fe155602ba (patch) | |
tree | 82dd671c0460921e242b5347ec0e6f1aa6ba2503 /test | |
parent | d29ed42abd4b109030444d90d01e71d91e5377de (diff) | |
download | llvm-9519b689c843b01a86610b6e633ee0fe155602ba.tar.gz llvm-9519b689c843b01a86610b6e633ee0fe155602ba.tar.bz2 llvm-9519b689c843b01a86610b6e633ee0fe155602ba.tar.xz |
Don't produce tail calls when the caller is x86_thiscallcc.
The callee will not pop the stack for us.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195467 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/stdcall-notailcall.ll | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/CodeGen/X86/stdcall-notailcall.ll b/test/CodeGen/X86/stdcall-notailcall.ll index 8f522cda28..c847ec7b6c 100644 --- a/test/CodeGen/X86/stdcall-notailcall.ll +++ b/test/CodeGen/X86/stdcall-notailcall.ll @@ -10,4 +10,12 @@ entry: ret void } +define x86_thiscallcc void @test2(%struct.I* %this, i32 %a) { +; CHECK-LABEL: test2: +; CHECK: calll _foo +; CHECK: ret $4 + tail call void @foo() + ret void +} + declare void @foo() |