(module (type $i32_=>_none (func (param i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_i32_i64 (func (result i32 i64))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $none_=>_v128 (func (result v128))) (memory $0 10 10) (func $basic (param $p i32) (local $x i32) (local.set $x (i32.const 10) ) (call $basic (i32.const 20) ) ) (func $split (param $p i32) (local $x i32) (if (i32.const 1) (local.set $x (i32.const 10) ) ) (call $basic (i32.add (local.get $x) (local.get $x) ) ) ) (func $split-but-join (param $p i32) (local $x i32) (if (i32.const 1) (local.set $x (i32.const 10) ) (local.set $x (i32.const 10) ) ) (call $basic (i32.const 20) ) ) (func $split-but-join-different (param $p i32) (local $x i32) (if (i32.const 1) (local.set $x (i32.const 10) ) (local.set $x (i32.const 20) ) ) (call $basic (i32.add (local.get $x) (local.get $x) ) ) ) (func $split-but-join-different-b (param $p i32) (local $x i32) (if (i32.const 1) (local.set $x (i32.const 10) ) (local.set $x (local.get $p) ) ) (call $basic (i32.add (local.get $x) (local.get $x) ) ) ) (func $split-but-join-init0 (param $p i32) (local $x i32) (if (i32.const 1) (local.set $x (i32.const 0) ) ) (call $basic (i32.const 0) ) ) (func $later (param $p i32) (local $x i32) (local.set $x (i32.const 10) ) (call $basic (i32.const 20) ) (local.set $x (i32.const 22) ) (call $basic (i32.const 44) ) (local.set $x (i32.const 39) ) ) (func $later2 (param $p i32) (result i32) (local $x i32) (local.set $x (i32.const 10) ) (local.set $x (i32.const 20) ) (i32.const 20) ) (func $two-ways-but-identical (param $p i32) (result i32) (local $x i32) (local $y i32) (local.set $x (i32.const 10) ) (if (i32.const 1) (local.set $y (i32.const 11) ) (local.set $y (i32.const 11) ) ) (local.set $y (i32.const 21) ) (i32.const 21) ) (func $two-ways-but-almost-identical (param $p i32) (result i32) (local $x i32) (local $y i32) (local.set $x (i32.const 10) ) (if (i32.const 1) (local.set $y (i32.const 12) ) (local.set $y (i32.const 11) ) ) (local.set $y (i32.add (i32.const 10) (local.get $y) ) ) (local.get $y) ) (func $deadloop (param $p i32) (result i32) (local $x i32) (local $y i32) (loop $loop (local.set $x (i32.const 0) ) (local.set $y (i32.const 0) ) (br $loop) ) ) (func $deadloop2 (param $p i32) (local $x i32) (local $y i32) (loop $loop (local.set $x (i32.const 0) ) (local.set $y (i32.const 0) ) (call $deadloop2 (i32.const 0) ) (call $deadloop2 (i32.const 0) ) (br $loop) ) ) (func $deadloop3 (param $p i32) (local $x i32) (local $y i32) (loop $loop (local.set $x (i32.const 0) ) (local.set $y (i32.const 0) ) (call $deadloop2 (i32.const 0) ) (call $deadloop2 (i32.const 0) ) (br $loop) ) ) (func $through-tee (param $x i32) (param $y i32) (result i32) (local.set $x (local.tee $y (i32.const 7) ) ) (return (i32.const 14) ) ) (func $through-tee-more (param $x i32) (param $y i32) (result i32) (local.set $x (i32.eqz (local.tee $y (i32.const 7) ) ) ) (return (i32.const 7) ) ) (func $multipass (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (nop) (nop) (local.get $2) ) (func $through-fallthrough (param $x i32) (param $y i32) (result i32) (local.set $x (block $block (result i32) (nop) (local.tee $y (i32.const 7) ) ) ) (return (i32.const 14) ) ) (func $simd-load (result v128) (local $x v128) (local.set $x (v8x16.load_splat (i32.const 0) ) ) (local.get $x) ) (func $tuple-local (result i32 i64) (local $i32s (i32 i32)) (local $i64s (i64 i64)) (local.set $i32s (tuple.make (i32.const 42) (i32.const 0) ) ) (local.set $i64s (tuple.make (i64.const 42) (i64.const 0) ) ) (tuple.make (i32.const 42) (i64.const 0) ) ) )