Update to new EH scheme.
authorBill Wendling <isanbard@gmail.com>
Thu, 1 Sep 2011 01:08:21 +0000 (01:08 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 1 Sep 2011 01:08:21 +0000 (01:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138928 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/Inline/2003-09-14-InlineValue.ll
test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll
test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll
test/Transforms/Inline/2007-04-15-InlineEH.ll
test/Transforms/Inline/callgraph-update.ll
test/Transforms/Inline/crash.ll
test/Transforms/Inline/invoke_test-1.ll
test/Transforms/Inline/invoke_test-2.ll
test/Transforms/Inline/invoke_test-3.ll

index 49a27e195e2a74e436355844a2e82f490cacc751..98bc08b378e0af680997e95971d513925d6899f1 100644 (file)
@@ -16,6 +16,10 @@ Ok:             ; preds = %0
         ret i32 %V
 
 Bad:            ; preds = %0
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         ret i32 0
 }
 
+declare i32 @__gxx_personality_v0(...)
+
index 4418f77c9d0b4793ef6f1a840204dcb5953e4613..9af93325f1422b79e89084c68d64c0fb74e0ae71 100644 (file)
@@ -6,10 +6,15 @@ entry:
                         to label %Call2Invoke unwind label %LongJmpBlkPre
 
 Call2Invoke:            ; preds = %entry
-        br label %LongJmpBlkPre
+        br label %exit
 
 LongJmpBlkPre:          ; preds = %Call2Invoke, %entry
         %i.3 = phi i32 [ 0, %entry ], [ 0, %Call2Invoke ]               ; <i32> [#uses=0]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
+        br label %exit
+
+exit:
         ret i32 0
 }
 
@@ -19,6 +24,8 @@ define void @__main() {
         ret void
 }
 
+declare i32 @__gxx_personality_v0(...)
+
 declare void @__llvm_getGlobalCtors()
 
 declare void @__llvm_getGlobalDtors()
index 9afd45040ca97bf099f06528b221092b4c0ef737..bfe04559bcac4067eaf6f90a71381bc78faab657 100644 (file)
@@ -15,6 +15,9 @@ BB1:
 
 Cont:           ; preds = %BB1, %BB1
         %A = phi i32 [ 0, %BB1 ], [ 0, %BB1 ]           ; <i32> [#uses=1]
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         ret i32 %A
 }
 
+declare i32 @__gxx_personality_v0(...)
index 635f93e8242850500995f72744e838a7c2561b0f..8fbcf929d024f6be2462f419ca0b66d6ebb327e9 100644 (file)
@@ -33,9 +33,13 @@ invcont67:           ; preds = %invcont65
        ret void
 
 cleanup144:            ; preds = %invcont65, %invcont64, %invcont, %entry
-       unwind
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
+       resume { i8*, i32 } %exn
 }
 
+declare i32 @__gxx_personality_v0(...)
+
 declare void @gnat__os_lib__getenv(%struct.gnat__strings__string_access*)
 
 declare void @ada__calendar__delays__delay_for()
index ff0120b73306534a49fd8af86bc15bf8582f44f6..b96fbc39c2ff236ec51f36df8666c7b96af8c63a 100644 (file)
@@ -29,5 +29,8 @@ invcont:
        unreachable
 
 lpad:
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
        unreachable
 }
+declare i32 @__gxx_personality_v0(...)
index 1df4d6063e84cf87da2a9ba4eb31a3ee25c1106b..e2cd49c2516c87c2d640bea0d11e72b8966dd19f 100644 (file)
@@ -69,9 +69,13 @@ invcont98:
   unreachable
 
 lpad156:                            
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   unreachable
 }
 
+declare i32 @__gxx_personality_v0(...)
+
 declare fastcc void @YYY()
 
 define internal fastcc void @XXX() {
@@ -84,7 +88,9 @@ bb260:
   ret void
 
 lpad:                               
-  unwind
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
+  resume { i8*, i32 } %exn
 }
 
 
@@ -105,6 +111,8 @@ invcont3:                                         ; preds = %bb1
   ret void
 
 lpad18:                                           ; preds = %invcont3, %bb1
+  %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+            cleanup
   unreachable
 }
 
index 0d27e2a7f5e4ca5aedbe3644f8061c396c3d4961..e0e6d600bbb362257fcb87cd642d7934feb5754a 100644 (file)
@@ -20,5 +20,9 @@ cont:           ; preds = %0
         ret i32 0
 
 exc:            ; preds = %0
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         ret i32 1
 }
+
+declare i32 @__gxx_personality_v0(...)
index bbb9ab055393d61d9e38e946aeb3d1aa428350a2..680a5ca2542a299d49aec00c2f60d20cab9827cd 100644 (file)
@@ -14,6 +14,8 @@ cont:           ; preds = %0
         ret i32 0
 
 exc:            ; preds = %0
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         ret i32 1
 }
 
@@ -26,5 +28,9 @@ cont:           ; preds = %0
         ret i32 %X
 
 UnreachableExceptionHandler:            ; preds = %0
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         ret i32 -1
 }
+
+declare i32 @__gxx_personality_v0(...)
index b360526fb3484bf3082c09bdb15335ae30cec640..f5ce95aa516cf106dcc25d1f166e5cbaa3433a45 100644 (file)
@@ -14,7 +14,9 @@ cont:           ; preds = %0
 
 exc:            ; preds = %0a
        ; This just rethrows the exception!
-        unwind
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
+        resume { i8*, i32 } %exn
 }
 
 ; caller returns true if might_throw throws an exception... which gets
@@ -28,5 +30,9 @@ cont:           ; preds = %0
 
 Handler:                ; preds = %0
 ; This consumes an exception thrown by might_throw
+        %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+                 cleanup
         ret i32 1
 }
+
+declare i32 @__gxx_personality_v0(...)