ret i32 %V
Bad: ; preds = %0
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
ret i32 0
}
+declare i32 @__gxx_personality_v0(...)
+
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
}
ret void
}
+declare i32 @__gxx_personality_v0(...)
+
declare void @__llvm_getGlobalCtors()
declare void @__llvm_getGlobalDtors()
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(...)
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()
unreachable
lpad:
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
unreachable
}
+declare i32 @__gxx_personality_v0(...)
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() {
ret void
lpad:
- unwind
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ resume { i8*, i32 } %exn
}
ret void
lpad18: ; preds = %invcont3, %bb1
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
unreachable
}
ret i32 0
exc: ; preds = %0
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
ret i32 1
}
+
+declare i32 @__gxx_personality_v0(...)
ret i32 0
exc: ; preds = %0
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
ret i32 1
}
ret i32 %X
UnreachableExceptionHandler: ; preds = %0
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
ret i32 -1
}
+
+declare i32 @__gxx_personality_v0(...)
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
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(...)