31 lines · plain
1declare ptr @__cxa_allocate_exception(i64)2declare void @__cxa_throw(ptr, ptr, ptr)3declare i32 @__gxx_personality_v0(...)4declare void @__cxa_end_catch()5declare ptr @__cxa_begin_catch(ptr)6 7@_ZTIi = external constant ptr8 9define void @throwException_B() {10 %exception = tail call ptr @__cxa_allocate_exception(i64 4)11 call void @__cxa_throw(ptr %exception, ptr @_ZTIi, ptr null)12 unreachable13}14 15define i32 @FB() personality ptr @__gxx_personality_v0 {16entry:17 invoke void @throwException_B()18 to label %try.cont unwind label %lpad19 20lpad:21 %p = landingpad { ptr, i32 }22 catch ptr @_ZTIi23 %e = extractvalue { ptr, i32 } %p, 024 call ptr @__cxa_begin_catch(ptr %e)25 call void @__cxa_end_catch()26 br label %try.cont27 28try.cont:29 ret i32 030}31