xref: /llvm-project/llvm/test/CodeGen/X86/pop-stack-cleanup-msvc.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: llc < %s | FileCheck %s
2
3target triple = "i686--windows-msvc"
4
5declare { ptr, i32 } @param2_ret2(i32, i32)
6declare i32 @__CxxFrameHandler3(...)
7
8
9define void @test_reserved_regs() minsize optsize personality ptr @__CxxFrameHandler3 {
10; CHECK-LABEL: test_reserved_regs:
11; CHECK: calll _param2_ret2
12; CHECK-NEXT: popl %ecx
13; CHECK-NEXT: popl %edi
14start:
15  %s = alloca i64
16  store i64 4, ptr %s
17  %0 = invoke { ptr, i32 } @param2_ret2(i32 0, i32 1)
18          to label %out unwind label %cleanup
19
20out:
21  ret void
22
23cleanup:
24  %cp = cleanuppad within none []
25  cleanupret from %cp unwind to caller
26}
27