blob: e06e5e5172d108dd7782dc6ae28844276dfa3f97 [file] [log] [blame] [edit]
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
;; RUN: wasm-opt %s --generate-stack-ir --optimize-stack-ir \
;; RUN: -all --print-stack-ir | filecheck %s
(module
;; CHECK: (tag $e-i32 (param i32))
(tag $e-i32 (param i32))
;; CHECK: (func $foo (type $0)
;; CHECK-NEXT: )
(func $foo)
;; CHECK: (func $test (type $0)
;; CHECK-NEXT: block $outer
;; CHECK-NEXT: block $l-catch (result i32)
;; CHECK-NEXT: block $l-catch-ref (type $1) (result i32 exnref)
;; CHECK-NEXT: block $l-catch-all
;; CHECK-NEXT: block $l-catch-all-ref (result exnref)
;; CHECK-NEXT: try_table (catch $e-i32 $l-catch) (catch_ref $e-i32 $l-catch-ref) (catch_all $l-catch-all) (catch_all_ref $l-catch-all-ref)
;; CHECK-NEXT: call $foo
;; CHECK-NEXT: end
;; CHECK-NEXT: br $outer
;; CHECK-NEXT: end
;; CHECK-NEXT: throw_ref
;; CHECK-NEXT: end
;; CHECK-NEXT: br $outer
;; CHECK-NEXT: end
;; CHECK-NEXT: tuple.drop 2
;; CHECK-NEXT: br $outer
;; CHECK-NEXT: end
;; CHECK-NEXT: drop
;; CHECK-NEXT: end
;; CHECK-NEXT: )
(func $test
(block $outer
(drop
(block $l-catch (result i32)
(tuple.drop 2
(block $l-catch-ref (result i32 exnref)
(block $l-catch-all
(throw_ref
(block $l-catch-all-ref (result exnref)
(try_table (catch $e-i32 $l-catch)
(catch_ref $e-i32 $l-catch-ref)
(catch_all $l-catch-all)
(catch_all_ref $l-catch-all-ref)
(call $foo)
)
(br $outer)
)
)
)
(br $outer)
)
)
(br $outer)
)
)
)
)
)