| (module |
| (func $contrast ;; check for tee and structure sinking |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $a i32) |
| (local $b i32) |
| (local.set $x (i32.const 1)) |
| (if (local.get $x) (then (nop))) |
| (if (local.get $x) (then (nop))) |
| (local.set $y (if (result i32) (i32.const 2) (then (i32.const 3) )(else (i32.const 4)))) |
| (drop (local.get $y)) |
| (local.set $z (block (result i32) (i32.const 5))) |
| (drop (local.get $z)) |
| (if (i32.const 6) |
| (then |
| (local.set $a (i32.const 7)) |
| ) |
| (else |
| (local.set $a (i32.const 8)) |
| ) |
| ) |
| (drop (local.get $a)) |
| (block $val |
| (if (i32.const 10) |
| (then |
| (block |
| (local.set $b (i32.const 11)) |
| (br $val) |
| ) |
| ) |
| ) |
| (local.set $b (i32.const 12)) |
| ) |
| (drop (local.get $b)) |
| ) |
| ) |
| |