diff options
Diffstat (limited to 'test/CodeGen/X86/inalloca-invoke.ll')
-rw-r--r-- | test/CodeGen/X86/inalloca-invoke.ll | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/test/CodeGen/X86/inalloca-invoke.ll b/test/CodeGen/X86/inalloca-invoke.ll index b56f24d99628..cf5cbe142ec7 100644 --- a/test/CodeGen/X86/inalloca-invoke.ll +++ b/test/CodeGen/X86/inalloca-invoke.ll @@ -4,6 +4,7 @@ %frame.reverse = type { %Iter, %Iter } +declare i32 @pers(...) declare void @llvm.stackrestore(i8*) declare i8* @llvm.stacksave() declare void @begin(%Iter* sret) @@ -17,12 +18,12 @@ define i32 @main() { blah: %inalloca.save = call i8* @llvm.stacksave() %rev_args = alloca inalloca %frame.reverse, align 4 - %beg = getelementptr %frame.reverse* %rev_args, i32 0, i32 0 - %end = getelementptr %frame.reverse* %rev_args, i32 0, i32 1 + %beg = getelementptr %frame.reverse, %frame.reverse* %rev_args, i32 0, i32 0 + %end = getelementptr %frame.reverse, %frame.reverse* %rev_args, i32 0, i32 1 ; CHECK: calll __chkstk -; CHECK: movl %[[beg:[^,]*]], %esp -; CHECK: leal 12(%[[beg]]), %[[end:[^ ]*]] +; CHECK: movl %esp, %[[beg:[^ ]*]] +; CHECK: leal 12(%[[beg]]), %[[end:[^ ]*]] call void @begin(%Iter* sret %temp.lvalue) ; CHECK: calll _begin @@ -31,7 +32,7 @@ blah: to label %invoke.cont unwind label %lpad ; Uses end as sret param. -; CHECK: movl %[[end]], (%esp) +; CHECK: pushl %[[end]] ; CHECK: calll _plus invoke.cont: @@ -48,7 +49,7 @@ invoke.cont5: ; preds = %invoke.cont ret i32 0 lpad: ; preds = %invoke.cont, %entry - %lp = landingpad { i8*, i32 } personality i8* null + %lp = landingpad { i8*, i32 } personality i32 (...)* @pers cleanup unreachable } |