;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
;; RUN: wasm-opt %s -all -S -o - | filecheck %s
;; RUN: wasm-opt %s -all --roundtrip -S -o - | filecheck %s --check-prefix=RTRIP
(module
  ;; CHECK:      (type $t (shared (struct (field (mut i32)))))
  ;; RTRIP:      (type $t (shared (struct (field (mut i32)))))
  (type $t (shared (struct (field (mut i32)))))

  ;; CHECK:      (global $g (ref $t) (struct.new $t
  ;; CHECK-NEXT:  (i32.const 0)
  ;; CHECK-NEXT: ))
  ;; RTRIP:      (global $g (ref $t) (struct.new $t
  ;; RTRIP-NEXT:  (i32.const 0)
  ;; RTRIP-NEXT: ))
  (global $g (ref $t) (struct.new $t (i32.const 0)))
  ;; CHECK:      (global $wq (mut (ref null (shared waitqueue))) (ref.null (shared waitqueue)))
  ;; RTRIP:      (global $wq (mut (ref null (shared waitqueue))) (ref.null (shared waitqueue)))
  (global $wq (mut (ref null (shared waitqueue))) (ref.null (shared waitqueue)))

  ;; CHECK:      (func $wait (type $0)
  ;; CHECK-NEXT:  (drop
  ;; CHECK-NEXT:   (struct.wait $t 0
  ;; CHECK-NEXT:    (global.get $g)
  ;; CHECK-NEXT:    (global.get $wq)
  ;; CHECK-NEXT:    (i32.const 0)
  ;; CHECK-NEXT:    (i64.const 0)
  ;; CHECK-NEXT:   )
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  ;; RTRIP:      (func $wait (type $0)
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (struct.wait $t 0
  ;; RTRIP-NEXT:    (global.get $g)
  ;; RTRIP-NEXT:    (global.get $wq)
  ;; RTRIP-NEXT:    (i32.const 0)
  ;; RTRIP-NEXT:    (i64.const 0)
  ;; RTRIP-NEXT:   )
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT: )
  (func $wait
    (drop (struct.wait $t 0 (global.get $g) (global.get $wq) (i32.const 0) (i64.const 0)))
  )

  ;; CHECK:      (func $notify (type $0)
  ;; CHECK-NEXT:  (drop
  ;; CHECK-NEXT:   (waitqueue.notify
  ;; CHECK-NEXT:    (global.get $wq)
  ;; CHECK-NEXT:    (i32.const 1)
  ;; CHECK-NEXT:   )
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  ;; RTRIP:      (func $notify (type $0)
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (waitqueue.notify
  ;; RTRIP-NEXT:    (global.get $wq)
  ;; RTRIP-NEXT:    (i32.const 1)
  ;; RTRIP-NEXT:   )
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT: )
  (func $notify
    (drop (waitqueue.notify (global.get $wq) (i32.const 1)))
  )

  ;; CHECK:      (func $wait-unreachable (type $0)
  ;; CHECK-NEXT:  (drop
  ;; CHECK-NEXT:   (block ;; (replaces unreachable StructWait we can't emit)
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (unreachable)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (global.get $wq)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (i32.const 0)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (i64.const 0)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (unreachable)
  ;; CHECK-NEXT:   )
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  ;; RTRIP:      (func $wait-unreachable (type $0)
  ;; RTRIP-NEXT:  (unreachable)
  ;; RTRIP-NEXT: )
  (func $wait-unreachable
    (drop (struct.wait $t 0 (unreachable) (global.get $wq) (i32.const 0) (i64.const 0)))
  )

  ;; CHECK:      (func $notify-unreachable (type $0)
  ;; CHECK-NEXT:  (drop
  ;; CHECK-NEXT:   (block ;; (replaces unreachable WaitqueueNotify we can't emit)
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (unreachable)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (i32.const 1)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (unreachable)
  ;; CHECK-NEXT:   )
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  ;; RTRIP:      (func $notify-unreachable (type $0)
  ;; RTRIP-NEXT:  (unreachable)
  ;; RTRIP-NEXT: )
  (func $notify-unreachable
    (drop (waitqueue.notify (unreachable) (i32.const 1)))
  )

  ;; CHECK:      (func $wait-none (type $0)
  ;; CHECK-NEXT:  (drop
  ;; CHECK-NEXT:   (block ;; (replaces unreachable StructWait we can't emit)
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (ref.null (shared none))
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (global.get $wq)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (i32.const 0)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (i64.const 0)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (unreachable)
  ;; CHECK-NEXT:   )
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  ;; RTRIP:      (func $wait-none (type $0)
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (ref.null (shared none))
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (global.get $wq)
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (i32.const 0)
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (i64.const 0)
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (unreachable)
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT: )
  (func $wait-none
    (drop (struct.wait $t 0 (ref.null $t) (global.get $wq) (i32.const 0) (i64.const 0)))
  )

  ;; CHECK:      (func $notify-none (type $0)
  ;; CHECK-NEXT:  (drop
  ;; CHECK-NEXT:   (block ;; (replaces unreachable WaitqueueNotify we can't emit)
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (ref.null (shared waitqueue))
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (drop
  ;; CHECK-NEXT:     (i32.const 1)
  ;; CHECK-NEXT:    )
  ;; CHECK-NEXT:    (unreachable)
  ;; CHECK-NEXT:   )
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  ;; RTRIP:      (func $notify-none (type $0)
  ;; RTRIP-NEXT:  (drop
  ;; RTRIP-NEXT:   (block ;; (replaces unreachable WaitqueueNotify we can't emit)
  ;; RTRIP-NEXT:    (drop
  ;; RTRIP-NEXT:     (ref.null (shared waitqueue))
  ;; RTRIP-NEXT:    )
  ;; RTRIP-NEXT:    (drop
  ;; RTRIP-NEXT:     (i32.const 1)
  ;; RTRIP-NEXT:    )
  ;; RTRIP-NEXT:    (unreachable)
  ;; RTRIP-NEXT:   )
  ;; RTRIP-NEXT:  )
  ;; RTRIP-NEXT: )
  (func $notify-none
    (drop (waitqueue.notify (ref.null (shared waitqueue)) (i32.const 1)))
  )
)
