;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
;; RUN: wasm-opt %s -all --strip-eh -S -o - | filecheck %s

;; Remove all EH instructions and tags. Converts 'throw's into 'unreachable's.

(module
  (tag $e-i32 (param i32))
  (tag $e-f32 (param f32))

  ;; CHECK:      (func $throw-i32 (type $0)
  ;; CHECK-NEXT:  (unreachable)
  ;; CHECK-NEXT: )
  (func $throw-i32
    (throw $e-i32 (i32.const 0))
  )
  ;; CHECK:      (func $throw-f32 (type $0)
  ;; CHECK-NEXT:  (unreachable)
  ;; CHECK-NEXT: )
  (func $throw-f32
    (throw $e-f32 (f32.const 0.0))
  )

  ;; CHECK:      (func $try-catch (type $0)
  ;; CHECK-NEXT:  (block $out
  ;; CHECK-NEXT:   (call $throw-f32)
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  (func $try-catch
    (block $out
      (try_table (catch_all $out)
        (call $throw-f32)
      )
    )
  )
)
