blob: a5f0b924952e4c7a3d5c4a73fed845824758fbac [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 $e0 (param i32))
(tag $e0 (param i32))
;; CHECK: (func $eh (type $1)
;; CHECK-NEXT: try $l0
;; CHECK-NEXT: i32.const 0
;; CHECK-NEXT: throw $e0
;; CHECK-NEXT: catch $e0
;; CHECK-NEXT:
;; CHECK-NEXT: drop
;; CHECK-NEXT: catch_all
;; CHECK-NEXT: rethrow $l0
;; CHECK-NEXT: end
;; CHECK-NEXT: try $l00
;; CHECK-NEXT: try
;; CHECK-NEXT: i32.const 0
;; CHECK-NEXT: throw $e0
;; CHECK-NEXT: delegate $l00
;; CHECK-NEXT: unreachable
;; CHECK-NEXT: catch_all
;; CHECK-NEXT: end
;; CHECK-NEXT: try $l01
;; CHECK-NEXT: delegate 0
;; CHECK-NEXT: )
(func $eh
(try $l0
(do
(throw $e0 (i32.const 0))
)
(catch $e0
(drop (pop i32))
)
(catch_all
(rethrow $l0)
)
)
(try $l0
(do
(try
(do
(throw $e0 (i32.const 0))
)
(delegate $l0)
)
)
(catch_all)
)
(try $l0
(do)
(delegate 0) ;; delegate to caller
)
)
)