; RUN: llvm-as < %s | llvm-dis
define void @test() {
- invoke void @test( )
- to label %Next unwind label %Next
+ invoke void @test( )
+ to label %Next unwind label %Next
Next: ; preds = %0, %0
- ret void
+ %lpad = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ ret void
}
+
+declare i32 @__gxx_personality_v0(...)
ret i32 1
EH: ; preds = %0
- ret i32 0
+ %lpad = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ ret i32 0
}
+declare i32 @__gxx_personality_v0(...)
invcont:
ret i32 %A
blat:
- ret i32 0
+ %lpad = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ ret i32 0
}
+
+declare i32 @__gxx_personality_v0(...)
ret void
cond_true1402: ; preds = %invcont282, %cond_false280, %cond_true235, %cond_true
- ret void
+ %lpad = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ ret void
}
declare void @_ZNSs14_M_replace_auxEjjjc()
declare void @_ZNSs7reserveEj()
declare void @_ZNSs6appendEPKcj()
+
+declare i32 @__gxx_personality_v0(...)
define fastcc void @bc__support__high_resolution_time__initialize_clock_rate() {
entry:
- invoke void asm "rdtsc\0A\09movl %eax, $0\0A\09movl %edx, $1", "=*imr,=*imr,~{dirflag},~{fpsr},~{flags},~{dx},~{ax}"( i32* null, i32* null )
- to label %.noexc unwind label %cleanup144
+ invoke void asm "rdtsc\0A\09movl %eax, $0\0A\09movl %edx, $1", "=*imr,=*imr,~{dirflag},~{fpsr},~{flags},~{dx},~{ax}"( i32* null, i32* null )
+ to label %.noexc unwind label %cleanup144
.noexc: ; preds = %entry
- ret void
+ ret void
cleanup144: ; preds = %entry
- unwind
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ unwind
}
+
+declare i32 @__gxx_personality_v0(...)
unreachable
lpad: ; preds = %entry
+ %lpad1 = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ catch i8* null
invoke void @__cxa_end_catch( )
to label %bb14 unwind label %lpad17
lpad17: ; preds = %lpad
- %eh_select20 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32( i8* null, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* null ) ; <i32> [#uses=0]
+ %lpad2 = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ catch i8* null
unreachable
UnifiedUnreachableBlock: ; preds = %entry
invoke i32 @b() to label %reg unwind label %reg
reg:
+ %lpad = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ catch i8* null
ret void
}
+
+declare i32 @__gxx_personality_v0(...)
lpad: ; preds = %bb.i93, %invcont24, %bb1.i, %invcont8
%__extracted.1 = phi i32 [ 0, %invcont8 ], [ %2, %bb1.i ], [ undef, %bb.i93 ], [ undef, %invcont24 ] ; <i32> [#uses=0]
- %eh_ptr = call i8* @llvm.eh.exception() ; <i8*> [#uses=1]
+ %lpad1 = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ catch i8* null
+ %eh_ptr = extractvalue { i8*, i32 } %lpad1, 0
%6 = call i8* @__cxa_begin_catch(i8* %eh_ptr) nounwind ; <i8*> [#uses=0]
unreachable
lpad74: ; preds = %entry
+ %lpad2 = landingpad { i8*, i32 } personality i32 (...)* @__gxx_personality_v0
+ cleanup
unreachable
}
+
+declare i32 @__gxx_personality_v0(...)
ret void
handler:
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ catch i8* null
ret void
}
+declare i32 @__gxx_personality_v0(...)