;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. ;; Check that writing a struct field is not reordered with reading the same ;; struct field. ;; RUN: wasm-opt -all --simplify-locals %s -S -o - | filecheck %s (module ;; CHECK: (type $A (struct (field (mut i32)))) (type $A (struct (field (mut i32)) )) ;; Check that this: ;; ;; y = a.0 ;; a.0 = 10 ;; return y ;; ;; Is not turned into this: ;; ;; a.0 = 10 ;; return a.0 ;; ;; CHECK: (func $test (type $1) (param $x (ref null $A)) (result i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (local.set $y ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: ) (func $test (export "test") (param $x (ref null $A)) (result i32) (local $y i32) (local.set $y (struct.get $A 0 (local.get $x) ) ) (struct.set $A 0 (local.get $x) (i32.const 10) ) (local.get $y) ) )