e32cdbed73fb2dcbaa9d97ff987a2915e9e41010
[oota-llvm.git] / test / CodeGen / X86 / cleanuppad-large-codemodel.ll
1 ; RUN: llc -mtriple=x86_64-pc-windows-msvc -code-model=large -o - < %s | FileCheck %s
2
3 declare i32 @__CxxFrameHandler3(...)
4
5 declare void @bar()
6
7 define void @foo() personality i32 (...)* @__CxxFrameHandler3 {
8 entry:
9   invoke void @bar()
10     to label %exit unwind label %cleanup
11 cleanup:
12   %c = cleanuppad within none []
13   call void @bar()
14   cleanupret from %c unwind to caller
15 exit:
16   ret void
17 }
18
19 ; CHECK: foo: # @foo
20 ; CHECK: movabsq $bar, %[[reg:[^ ]*]]
21 ; CHECK: callq *%[[reg]]
22 ; CHECK: retq
23
24 ; CHECK: "?dtor$2@?0?foo@4HA":
25 ; CHECK: movabsq $bar, %[[reg:[^ ]*]]
26 ; CHECK: callq *%[[reg]]
27 ; CHECK: retq                            # CLEANUPRET