blob: 3e12ecba69d31140b057fd4889c75228ce86191b [file] [log] [blame] [edit]
(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(func $trivial (; 0 ;) (type $FUNCSIG$v)
(nop)
)
(func $trivial2 (; 1 ;) (type $FUNCSIG$v)
(call $trivial)
(call $trivial)
)
(func $return-void (; 2 ;) (type $FUNCSIG$v)
(nop)
)
(func $return-val (; 3 ;) (type $FUNCSIG$i) (result i32)
(i32.const 1)
)
(func $ifs (; 4 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(if (result i32)
(local.get $0)
(select
(i32.const 2)
(i32.const 3)
(local.get $0)
)
(select
(i32.const 4)
(i32.const 5)
(local.get $0)
)
)
)
(func $loops (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
(if
(local.get $0)
(loop $shape$2$continue
(call $trivial)
(br $shape$2$continue)
)
)
(loop $shape$4$continue
(call $trivial)
(br_if $shape$4$continue
(local.get $0)
)
)
(loop $shape$6$continue
(call $trivial)
(br_if $shape$6$continue
(local.get $0)
)
)
)
(func $br-out (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
(call $br-out
(i32.const 5)
)
)
(func $unreachable (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(if
(i32.eqz
(local.get $0)
)
(block
(call $unreachable
(i32.const 5)
)
(return)
)
)
(if
(local.get $0)
(block
(call $unreachable
(i32.const 1)
)
(unreachable)
)
(call $unreachable
(i32.const 3)
)
)
)
(func $empty-blocks (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
(nop)
)
(func $before-and-after (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
(call $before-and-after
(i32.const 1)
)
(call $before-and-after
(i32.const 2)
)
(call $before-and-after
(i32.const 3)
)
(call $before-and-after
(i32.const 4)
)
(if
(i32.eqz
(local.get $0)
)
(call $before-and-after
(i32.const 5)
)
)
(call $before-and-after
(i32.const 6)
)
(call $before-and-after
(i32.const 7)
)
(call $before-and-after
(i32.const 8)
)
(loop $shape$4$continue
(call $before-and-after
(i32.const 9)
)
(br_if $shape$4$continue
(local.get $0)
)
)
(call $before-and-after
(i32.const 10)
)
(call $before-and-after
(i32.const 11)
)
(if
(local.get $0)
(call $before-and-after
(i32.const 12)
)
)
(call $before-and-after
(i32.const 13)
)
(if
(local.get $0)
(call $before-and-after
(i32.const 14)
)
(call $before-and-after
(i32.const 15)
)
)
(if
(local.get $0)
(call $before-and-after
(i32.const 16)
)
)
(call $before-and-after
(i32.const 17)
)
(call $before-and-after
(i32.const 18)
)
(call $before-and-after
(i32.const 19)
)
(call $before-and-after
(i32.const 20)
)
(call $before-and-after
(i32.const 21)
)
(call $before-and-after
(i32.const 22)
)
(call $before-and-after
(i32.const 23)
)
(call $before-and-after
(i32.const 24)
)
(call $before-and-after
(i32.const 25)
)
)
(func $switch (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
(call $switch
(i32.const 1)
)
(block $block$7$break
(block $switch$3$default
(br_table $block$7$break $block$7$break $block$7$break $switch$3$default
(local.get $0)
)
)
(call $switch
(i32.const 2)
)
)
(call $switch
(i32.const 3)
)
)
(func $no-return (; 11 ;) (type $FUNCSIG$v)
(nop)
)
(func $if-br-wat (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
(call $if-br-wat
(i32.const 0)
)
(block $block$2$break
(if
(local.get $0)
(call $if-br-wat
(i32.const 1)
)
(br_if $block$2$break
(local.get $0)
)
)
(call $if-br-wat
(i32.const 2)
)
)
(call $if-br-wat
(i32.const 3)
)
)
)