blob: 1468e8a66ca612549e71e43c615e2e147037f51c [file] [edit]
(module
(type $0 (func (param i32)))
(type $1 (func (result i32)))
(type $2 (func))
(type $3 (func (result f64)))
(global $global$0 (mut i32) (i32.const 0))
(memory $0 0)
(func $x (; 0 ;) (type $0) (param $x i32)
(call $x
(i32.const 2300)
)
(nop)
(drop
(i32.add
(i32.const 1)
(get_local $x)
)
)
(nop)
(nop)
(nop)
(loop $in
(br $in)
)
(nop)
(block $c
(nop)
(call $x
(i32.const 4)
)
(br $c)
(br $c)
)
(drop
(block $val (result i32)
(nop)
(call $x
(i32.const 4)
)
(br $val
(i32.const 101)
)
(br $val
(i32.const 102)
)
)
)
(nop)
(drop
(block $d0 (result i32)
(call $x
(i32.const 5)
)
(nop)
(i32.const 1)
)
)
(drop
(block $d2 (result i32)
(call $x
(i32.const 6)
)
(nop)
(i32.const 1)
)
)
(drop
(block $d4 (result i32)
(call $x
(i32.const 7)
)
(nop)
(i32.const 2)
)
)
(call $x
(i32.const 2)
)
(call $x
(i32.const 1)
)
(call $x
(i32.const 0)
)
(call $x
(i32.const 0)
)
)
(func $ret (; 1 ;) (type $1) (result i32)
(if
(call $ret)
(return
(i32.const 0)
)
)
(if
(call $ret)
(return
(i32.const 1)
)
)
(i32.const 1)
)
(func $noret (; 2 ;) (type $2)
(if
(call $ret)
(return)
)
)
(func $refinalize-br-condition-unreachable (; 3 ;) (type $2)
(block $label$1
(drop
(br_if $label$1
(unreachable)
)
)
)
)
(func $br_if-condition-is-block-i32-but-unreachable-so-refinalize-tricky (; 4 ;) (type $2)
(drop
(block $label$1 (result i32)
(drop
(br_if $label$1
(i32.const 100)
(block $label$3
(unreachable)
)
)
)
(i32.const 0)
)
)
)
(func $reuse-br-value (; 5 ;) (type $3) (result f64)
(block $label$0 (result f64)
(i32.store8
(i32.const 1919623207)
(if (result i32)
(i32.const 1)
(block $label$2
(drop
(i64.and
(i64.trunc_u/f32
(f32.const 70847791997969805621592064)
)
(i64.const 729618461987467893)
)
)
(br $label$0
(f64.const 6.134856208230095e-154)
)
)
(i32.load offset=3 align=2
(i32.const 169901344)
)
)
)
(f64.const 4776014875438170098655851e156)
)
)
(func $refinalize-two-breaks-one-unreachable (; 6 ;) (type $2)
(drop
(block $label$0 (result i64)
(br_if $label$0
(select
(i64.const 1)
(block $block
(set_global $global$0
(i32.const 1)
)
(br $label$0
(i64.const -22)
)
)
(i32.const 0)
)
(i32.const 1)
)
)
)
)
(func $one-break-value-and-it-is-unreachable (; 7 ;) (type $3) (result f64)
(local $var$0 i32)
(block $label$6 (result f64)
(br_if $label$6
(unreachable)
(i32.const 0)
)
)
)
)