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

test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
test/Transforms/ADCE/dce_pure_invoke.ll

index 444ca8ec904b9480d566eaaedf21f169f49ee6c8..6bbcfdb67ec58b1201597f50857d1a642e5e9f49 100644 (file)
@@ -8,7 +8,9 @@ then:           ; preds = %0
                         to label %invoke_cont unwind label %invoke_catch
 
 invoke_catch:           ; preds = %then
-        unwind
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
+        resume { i8*, i32 } %exn
 
 invoke_cont:            ; preds = %then
         ret void
@@ -17,3 +19,4 @@ endif:          ; preds = %0
         ret void
 }
 
+declare i32 @__gxx_personality_v0(...)
index 991e876a25b77faa16ef9883ca30909bf67cf50d..f4ecd42cefa44f174577e842b5f189cc783d2000 100644 (file)
@@ -15,6 +15,8 @@ tmp.3.i.noexc:          ; preds = %entry
         br i1 false, label %then.0, label %else.0
 
 invoke_catch.0:         ; preds = %entry
+        %exn.0 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         invoke void @q_atomic_decrement( )
                         to label %tmp.1.i.i183.noexc unwind label %terminate
 
@@ -26,6 +28,8 @@ then.0:         ; preds = %tmp.3.i.noexc
                         to label %invoke_cont.1 unwind label %invoke_catch.1
 
 invoke_catch.1:         ; preds = %then.0
+        %exn.1 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         invoke void @q_atomic_decrement( )
                         to label %tmp.1.i.i162.noexc unwind label %terminate
 
@@ -40,6 +44,9 @@ else.0:         ; preds = %tmp.3.i.noexc
 
 terminate:              ; preds = %invoke_catch.1, %invoke_catch.0
         %dbg.0.1 = phi {  }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ]               ; <{  }*> [#uses=0]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         unreachable
 }
 
+declare i32 @__gxx_personality_v0(...)
index c16d45cc239394fb6ac60fad737a719fe880972d..8e7851804575bf73fe4481fc3983a9415a7c8afc 100644 (file)
@@ -11,5 +11,9 @@ Cont:         ; preds = %0
        ret i32 0
 
 Other:         ; preds = %0
+         %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                  cleanup
        ret i32 1
 }
+
+declare i32 @__gxx_personality_v0(...)