;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. ;; NOTE: This test was ported using port_passes_tests_to_lit.py and could be cleaned up. ;; RUN: foreach %s %t wasm-opt --simplify-globals -all -S -o - | filecheck %s ;; Test that we propagate globals into nested children of other globals. (module ;; CHECK: (type $struct (struct (field i32) (field i32) (field i32))) (type $struct (struct i32 i32 i32)) ;; CHECK: (import "x" "y" (global $no i32)) (import "x" "y" (global $no i32)) ;; CHECK: (global $a i32 (i32.const 42)) (global $a i32 (i32.const 42)) ;; CHECK: (global $b i32 (i32.const 1337)) (global $b i32 (i32.const 1337)) ;; CHECK: (global $struct (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (global.get $no) ;; CHECK-NEXT: (i32.const 1337) ;; CHECK-NEXT: )) (global $struct (ref $struct) (struct.new $struct (global.get $a) (global.get $no) ;; the middle item cannot be optimized (global.get $b) )) )