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
This commit is contained in:
Bill Wendling 2011-08-31 21:04:11 +00:00
parent b072dd9ba4
commit ab98f9d155
6 changed files with 27 additions and 12 deletions

View File

@ -12,6 +12,9 @@ cont: ; preds = %0
ret i32 1
EH: ; preds = %0
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret i32 0
}
declare i32 @__gxx_personality_v0(...)

View File

@ -18,11 +18,10 @@ bb30.preheader: ; preds = %entry
br label %bb30
unwind: ; preds = %cond_true, %entry
%eh_ptr = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
%eh_select = call i64 (i8*, i8*, ...)* @llvm.eh.selector.i64(i8* %eh_ptr, i8* bitcast (void ()* @__gxx_personality_v0 to i8*), i8* null) ; <i64> [#uses=0]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
catch i8* null
call void @llvm.stackrestore(i8* %tmp4)
call void @_Unwind_Resume(i8* %eh_ptr)
unreachable
resume { i8*, i32 } %exn
invcont23: ; preds = %cond_true
%tmp27 = load i64* %tmp26, align 8 ; <i64> [#uses=1]
@ -46,14 +45,8 @@ declare i8* @llvm.stacksave() nounwind
declare void @Foo(i8**)
declare i8* @llvm.eh.exception() nounwind
declare i64 @llvm.eh.selector.i64(i8*, i8*, ...) nounwind
declare void @__gxx_personality_v0()
declare void @_Unwind_Resume(i8*)
declare void @Bar(i64, %struct.Range*)
declare void @llvm.stackrestore(i8*) nounwind
declare i32 @__gxx_personality_v0(...)

View File

@ -698,6 +698,8 @@ invoke.cont23: ; preds = %if.then12
lpad20: ; preds = %invoke.cont23, %if.then12
%tmp502 = phi double* [ undef, %invoke.cont23 ], [ %self, %if.then12 ]
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
if.end: ; preds = %invoke.cont23
@ -1998,3 +2000,5 @@ end: ; preds = %if.end125, %if.end1
}
!0 = metadata !{}
declare i32 @__gxx_personality_v0(...)

View File

@ -27,6 +27,8 @@ invoke.cont: ; preds = %entry
ret void
lpad: ; preds = %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
call void @objc_release(i8* %zipFile) nounwind, !clang.imprecise_release !0
ret void
}
@ -56,6 +58,8 @@ invoke.cont: ; preds = %entry
br label %done
lpad: ; preds = %entry
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
call void @callee()
br label %done
@ -64,4 +68,6 @@ done:
ret void
}
declare i32 @__gxx_personality_v0(...)
!0 = metadata !{}

View File

@ -51,11 +51,17 @@ invoke.cont102: ; preds = %invoke.cont93
unreachable
lpad91: ; preds = %entry
%exn91 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
unreachable
lpad100: ; preds = %invoke.cont93
%exn100 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
call void @objc_release(i8* %tmp2) nounwind, !clang.imprecise_release !0
unreachable
}
declare i32 @__gxx_personality_v0(...)
!0 = metadata !{}

View File

@ -6,6 +6,9 @@ define void @foo() {
invoke void @External( )
to label %Cont unwind label %Cont
Cont: ; preds = %0, %0
%exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
cleanup
ret void
}
declare i32 @__gxx_personality_v0(...)