@@ -468,40 +468,44 @@ unreachable: ; preds = %rethrow
468468; compute throw_ref's argument correctly.
469469
470470; CHECK-LABEL: inlined_cleanupret:
471- ; CHECK: block
472- ; CHECK: block exnref
473- ; CHECK: try_table (catch_all_ref 0)
474- ; CHECK: call __cxa_throw
475- ; CHECK: end_try_table
476- ; CHECK: end_block
477- ; try_table (catch_all_ref 0)'s caught exception is stored in local 2
478- ; CHECK: local.set 2
471+ ; CHECK: block exnref
479472; CHECK: block
480- ; CHECK: try_table (catch_all 0)
481- ; CHECK: block
482- ; CHECK: block i32
483- ; CHECK: try_table (catch __cpp_exception 0)
484- ; CHECK: call __cxa_throw
485- ; CHECK: end_try_table
486- ; CHECK: end_block
487- ; CHECK: call __cxa_end_catch
488- ; CHECK: block i32
489- ; CHECK: try_table (catch __cpp_exception 0)
473+ ; CHECK: block exnref
474+ ; CHECK: try_table (catch_all_ref 0)
475+ ; CHECK: call __cxa_throw
476+ ; CHECK: end_try_table
477+ ; CHECK: end_block
478+ ; try_table (catch_all_ref 0)'s caught exception is stored in local 2
479+ ; CHECK: local.set 2
480+ ; CHECK: block
481+ ; CHECK: try_table (catch_all 0)
482+ ; CHECK: block
483+ ; CHECK: block i32
484+ ; CHECK: try_table (catch __cpp_exception 0)
485+ ; CHECK: call __cxa_throw
486+ ; CHECK: end_try_table
487+ ; CHECK: end_block
488+ ; CHECK: call __cxa_end_catch
489+ ; CHECK: block i32
490+ ; CHECK: try_table (catch_all_ref 5)
491+ ; CHECK: try_table (catch __cpp_exception 1)
490492; Note that the throw_ref below targets the top-level catch_all_ref (local 2)
491- ; CHECK: local.get 2
492- ; CHECK: throw_ref
493+ ; CHECK: local.get 2
494+ ; CHECK: throw_ref
495+ ; CHECK: end_try_table
496+ ; CHECK: end_try_table
497+ ; CHECK: end_block
498+ ; CHECK: try_table (catch_all_ref 4)
499+ ; CHECK: call __cxa_end_catch
493500; CHECK: end_try_table
501+ ; CHECK: return
494502; CHECK: end_block
495- ; CHECK: call __cxa_end_catch
496- ; CHECK: return
497- ; CHECK: end_block
498- ; CHECK: unreachable
499- ; CHECK: end_try_table
503+ ; CHECK: end_try_table
504+ ; CHECK: end_block
505+ ; CHECK: call _ZSt9terminatev
500506; CHECK: end_block
501- ; CHECK: call _ZSt9terminatev
502- ; CHECK: unreachable
503507; CHECK: end_block
504- ; CHECK: unreachable
508+ ; CHECK: throw_ref
505509define void @inlined_cleanupret () personality ptr @__gxx_wasm_personality_v0 {
506510entry:
507511 %exception = tail call ptr @__cxa_allocate_exception (i32 4 )
0 commit comments