llvm.org GIT mirror llvm / ab98f9d
Update more tests to the new EH scheme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138894 91177308-0d34-0410-b5e6-96231b3b80d8 Bill Wendling 9 years ago
6 changed file(s) with 27 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
1111 ret i32 1
1212
1313 EH: ; preds = %0
14 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
15 cleanup
1416 ret i32 0
1517 }
1618
19 declare i32 @__gxx_personality_v0(...)
1717 br label %bb30
1818
1919 unwind: ; preds = %cond_true, %entry
20 %eh_ptr = call i8* @llvm.eh.exception() ; [#uses=2]
21 %eh_select = call i64 (i8*, i8*, ...)* @llvm.eh.selector.i64(i8* %eh_ptr, i8* bitcast (void ()* @__gxx_personality_v0 to i8*), i8* null) ; [#uses=0]
20 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
21 catch i8* null
2222 call void @llvm.stackrestore(i8* %tmp4)
23 call void @_Unwind_Resume(i8* %eh_ptr)
24 unreachable
23 resume { i8*, i32 } %exn
2524
2625 invcont23: ; preds = %cond_true
2726 %tmp27 = load i64* %tmp26, align 8 ; [#uses=1]
4544
4645 declare void @Foo(i8**)
4746
48 declare i8* @llvm.eh.exception() nounwind
49
50 declare i64 @llvm.eh.selector.i64(i8*, i8*, ...) nounwind
51
52 declare void @__gxx_personality_v0()
53
54 declare void @_Unwind_Resume(i8*)
55
5647 declare void @Bar(i64, %struct.Range*)
5748
5849 declare void @llvm.stackrestore(i8*) nounwind
50
51 declare i32 @__gxx_personality_v0(...)
697697
698698 lpad20: ; preds = %invoke.cont23, %if.then12
699699 %tmp502 = phi double* [ undef, %invoke.cont23 ], [ %self, %if.then12 ]
700 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
701 cleanup
700702 unreachable
701703
702704 if.end: ; preds = %invoke.cont23
19971999 }
19982000
19992001 !0 = metadata !{}
2002
2003 declare i32 @__gxx_personality_v0(...)
2626 ret void
2727
2828 lpad: ; preds = %entry
29 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
30 cleanup
2931 call void @objc_release(i8* %zipFile) nounwind, !clang.imprecise_release !0
3032 ret void
3133 }
5557 br label %done
5658
5759 lpad: ; preds = %entry
60 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
61 cleanup
5862 call void @callee()
5963 br label %done
6064
6367 ret void
6468 }
6569
70 declare i32 @__gxx_personality_v0(...)
71
6672 !0 = metadata !{}
5050 unreachable
5151
5252 lpad91: ; preds = %entry
53 %exn91 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
54 cleanup
5355 unreachable
5456
5557 lpad100: ; preds = %invoke.cont93
58 %exn100 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
59 cleanup
5660 call void @objc_release(i8* %tmp2) nounwind, !clang.imprecise_release !0
5761 unreachable
5862 }
5963
64 declare i32 @__gxx_personality_v0(...)
65
6066 !0 = metadata !{}
55 invoke void @External( )
66 to label %Cont unwind label %Cont
77 Cont: ; preds = %0, %0
8 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
9 cleanup
810 ret void
911 }
1012
13 declare i32 @__gxx_personality_v0(...)