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