Update more tests to the new EH scheme.
authorBill Wendling <isanbard@gmail.com>
Wed, 31 Aug 2011 21:04:11 +0000 (21:04 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 31 Aug 2011 21:04:11 +0000 (21:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138894 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Generic/2004-02-08-UnwindSupport.ll
test/CodeGen/PowerPC/2007-11-16-landingpad-split.ll
test/Transforms/ObjCARC/basic.ll
test/Transforms/ObjCARC/invoke.ll
test/Transforms/ObjCARC/retain-not-declared.ll
test/Transforms/PruneEH/2003-09-14-ExternalCall.ll

index 393062abf78e1ec01fee250a188153c929d738c2..a072ab70df5b5c21af8af6aad4cc479c590bb881 100644 (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(...)
index 0c11674094478af26fb6b899485596bcfe0d8c51..ecf45efee2e648878ac78979c5100346f5bc9fc3 100644 (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(...)
index 72f05ffaac9d6ddfc1bd2f9ede0a07c76a63dc17..575cf42d4e65b6da294b33b5034abd82957b2964 100644 (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(...)
index a1b87d230bd268bbf35730a59aa288827c595c14..cf971e458aaa55ffdc1a0413b1f91b165f1d9daf 100644 (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 !{}
index 80ac828a081a2eabbb378635b3edc74bd4391d22..41bde017e777035703ff93b9d2711af602e2d290 100644 (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 !{}
index 679eafd5936302da87a12a3fcd0ed7431c39b0a1..64aba4610167e5d042a72ccf630e123804e9ffd3 100644 (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(...)