summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/inalloca-stdcall.ll
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-03-02 19:20:59 +0000
committerReid Kleckner <rnk@google.com>2016-03-02 19:20:59 +0000
commit65f9d9cd324fc12f8bf90fa67477e2ddd90803d6 (patch)
tree59aafeca41a840b088622377df59b63033a5ae15 /llvm/test/CodeGen/X86/inalloca-stdcall.ll
parentf290912d2248687e688779d1d89999df56c14a09 (diff)
downloadbcm5719-llvm-65f9d9cd324fc12f8bf90fa67477e2ddd90803d6.tar.gz
bcm5719-llvm-65f9d9cd324fc12f8bf90fa67477e2ddd90803d6.zip
Revert "[X86] Elide references to _chkstk for dynamic allocas"
This reverts commit r262370. It turns out there is code out there that does sequences of allocas greater than 4K: http://crbug.com/591404 The goal of this change was to improve the code size of inalloca call sequences, but we got tangled up in the mess of dynamic allocas. Instead, we should come back later with a separate MI pass that uses dominance to optimize the full sequence. This should also be able to remove the often unneeded stacksave/stackrestore pairs around the call. llvm-svn: 262505
Diffstat (limited to 'llvm/test/CodeGen/X86/inalloca-stdcall.ll')
-rw-r--r--llvm/test/CodeGen/X86/inalloca-stdcall.ll10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/inalloca-stdcall.ll b/llvm/test/CodeGen/X86/inalloca-stdcall.ll
index ad2271bcff4..4f7e4092a99 100644
--- a/llvm/test/CodeGen/X86/inalloca-stdcall.ll
+++ b/llvm/test/CodeGen/X86/inalloca-stdcall.ll
@@ -7,16 +7,16 @@ declare x86_stdcallcc void @i(i32 %a)
define void @g() {
; CHECK-LABEL: _g:
-; CHECK: movl %esp, %ebp
%b = alloca inalloca %Foo
-; CHECK: movl %esp, %[[tmp_sp:.*]]
-; CHECK: leal -8(%[[tmp_sp]]), %esp
+; CHECK: movl $8, %eax
+; CHECK: calll __chkstk
%f1 = getelementptr %Foo, %Foo* %b, i32 0, i32 0
%f2 = getelementptr %Foo, %Foo* %b, i32 0, i32 1
store i32 13, i32* %f1
store i32 42, i32* %f2
-; CHECK: movl $13, -8(%[[tmp_sp]])
-; CHECK: movl $42, -4(%[[tmp_sp]])
+; CHECK: movl %esp, %eax
+; CHECK: movl $13, (%eax)
+; CHECK: movl $42, 4(%eax)
call x86_stdcallcc void @f(%Foo* inalloca %b)
; CHECK: calll _f@8
; CHECK-NOT: %esp
OpenPOWER on IntegriCloud