-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: opt < %s -adce -disable-output
-implementation ; Functions:
+define void @test() personality i32 (...)* @__gxx_personality_v0 {
+ br i1 false, label %then, label %endif
-void %test() {
- br bool false, label %then, label %endif
+then: ; preds = %0
+ invoke void null( i8* null )
+ to label %invoke_cont unwind label %invoke_catch
-then:
- invoke void null( sbyte* null )
- to label %invoke_cont except label %invoke_catch
+invoke_catch: ; preds = %then
+ %exn = landingpad {i8*, i32}
+ cleanup
+ resume { i8*, i32 } %exn
-invoke_catch:
- unwind
+invoke_cont: ; preds = %then
+ ret void
-invoke_cont:
- ret void
-
-endif:
- ret void
+endif: ; preds = %0
+ ret void
}
+
+declare i32 @__gxx_personality_v0(...)