(module (type $i32_=>_i32 (func (param i32) (result i32))) (type $i64_=>_none (func (param i64))) (type $none_=>_i32 (func (result i32))) (export "ret" (func $ret)) (export "waka" (func $if-0-unreachable-to-none)) (export "many-selects" (func $many-selects)) (export "end-if-else" (func $end-if-else)) (export "end-if-else-call" (func $end-if-else-call)) (func $ret (; has Stack IR ;) (result i32) (drop (call $ret) ) (if (call $ret) (return (i32.const 1) ) ) (i32.const 999) ) (func $if-0-unreachable-to-none (; has Stack IR ;) (param $0 i64) (unreachable) ) (func $many-selects (; has Stack IR ;) (param $0 i32) (result i32) (select (i32.const -1073741824) (select (i32.const 1073741823) (local.get $0) (i32.gt_s (local.get $0) (i32.const 1073741823) ) ) (i32.lt_s (local.get $0) (i32.const -1073741824) ) ) ) (func $end-if-else (; has Stack IR ;) (param $0 i32) (result i32) (select (i32.const 1) (local.get $0) (local.get $0) ) ) (func $end-if-else-call (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (local.get $0) (call $ret) (local.get $0) ) ) )