;; 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) ) ) )