blob: 0501e3f56dbb4d5a57d1bba92fe0d8cc40a73020 [file] [log] [blame] [edit]
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: foreach %s %t wasm-opt -all --gufa -S -o - | filecheck %s
(module
;; CHECK: (type $0 (func))
;; CHECK: (global $foo (mut (ref string)) (string.const "foo"))
(global $foo (mut (ref string)) (string.const "foo"))
;; CHECK: (global $bar (mut (ref string)) (string.const "bar"))
(global $bar (mut (ref string)) (string.const "bar"))
;; CHECK: (global $baz (mut (ref string)) (string.const "baz"))
(global $baz (mut (ref string)) (string.const "baz"))
;; CHECK: (func $set (type $0)
;; CHECK-NEXT: (global.set $foo
;; CHECK-NEXT: (string.const "foo")
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $bar
;; CHECK-NEXT: (string.const "BAR_BAR_BAR")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $set
;; Modify $foo to the same value as it begins.
(global.set $foo
(string.const "foo")
)
;; Modify $bar to a new value
(global.set $bar
(string.const "BAR_BAR_BAR")
)
;; Do not modify $baz at all.
)
;; CHECK: (func $get (type $0)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.const "foo")
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (global.get $bar)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.const "baz")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $get
;; $foo and $baz can be optimized, but not $bar.
(drop
(global.get $foo)
)
(drop
(global.get $bar)
)
(drop
(global.get $baz)
)
)
)