brintos

brintos / llvm-project-archived public Read only

0
0
Text · 765 B · 625ae43 Raw
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