(module (type $f (func (param i32))) (memory 1 2) (import "env" "import" (func $import)) (import "env" "import2" (func $import2 (param i32))) (table 1 1) (func $liveness1 (param $live0 i32) (param $dead0 i32) (local $live1 i32) (local $dead1 i32) (drop (local.get $dead0)) (drop (local.get $dead1)) (call $import) (drop (local.get $live0)) (drop (local.get $live1)) ) (func $liveness2 (param $live0 i32) (param $dead0 i32) (local $live1 i32) (local $dead1 i32) (drop (local.get $dead0)) (drop (local.get $dead1)) (call $import) (drop (local.get $live0)) (drop (local.get $live1)) ) (func $liveness3 (param $live0 i32) (param $dead0 i32) (local $live1 i32) (local $dead1 i32) (call $import) (drop (local.get $live0)) (call $import) (drop (local.get $live1)) ) (func $liveness4 (param $live0 i32) (param $dead0 i32) (if (i32.const 0) (call $import) ) (drop (local.get $live0)) ) (func $liveness5 (param $dead0 i32) (drop (local.get $dead0)) (if (i32.const 0) (call $import) ;; live before and after call, but not during ) (local.set $dead0 (i32.const 1)) (drop (local.get $dead0)) ) (func $liveness-call-kills (param $live i32) (call $import2 (local.get $live)) ) (func $liveness-indirect-kills (param $live0 i32) (param $live1 i32) (call_indirect (type $f) (local.get $live0) (local.get $live1)) ) )