blob: 9daee90a264ea26f46731190e1b8307bfca1fe18 [file] [log] [blame] [edit]
(module
(type $5 (func (param i32) (result i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $6 (func (param i32 i32 i32 i32 i32 i32)))
(type $7 (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $9 (func (param i32 i32) (result i32)))
(type $10 (func (param f32)))
(type $4 (func (param i32)))
(type $12 (func (param i32 i32)))
(type $13 (func (param i64)))
(type $14 (func (param i32 f64 f64 f32 i32) (result f64)))
(import "env" "waka" (func $waka (type $FUNCSIG$v)))
(import "env" "waka_int" (func $waka_int (type $FUNCSIG$i) (result i32)))
(import "env" "i64sub" (func $_i64Subtract (type $FUNCSIG$iiiii) (param i32 i32 i32 i32) (result i32)))
(import "env" "moddi" (func $___udivmoddi4 (type $FUNCSIG$iiiiii) (param i32 i32 i32 i32 i32) (result i32)))
(import "env" "lp" (func $lp (type $9) (param i32 i32) (result i32)))
(import "fuzzing-support" "log-f32" (func $fimport$0 (type $10) (param f32)))
(global $global$0 (mut i32) (i32.const 10))
(memory $0 256 256)
(func $contrast (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local $z i32)
(local $a i32)
(local $b i32)
(nop)
(if
(local.tee $x
(i32.const 1)
)
(then
(nop)
)
)
(if
(local.get $x)
(then
(nop)
)
)
(nop)
(drop
(if (result i32)
(i32.const 2)
(then
(i32.const 3)
)
(else
(i32.const 4)
)
)
)
(nop)
(drop
(block (result i32)
(i32.const 5)
)
)
(nop)
(drop
(if (result i32)
(i32.const 6)
(then
(nop)
(i32.const 7)
)
(else
(nop)
(i32.const 8)
)
)
)
(nop)
(drop
(block $val (result i32)
(if
(i32.const 10)
(then
(nop)
(br $val
(i32.const 11)
)
)
)
(nop)
(i32.const 12)
)
)
)
(func $b0-yes (type $4) (param $i1 i32)
(local $x i32)
(local $y i32)
(local $a i32)
(local $b i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(nop)
(drop
(i32.const 5)
)
(block $block0
(nop)
(drop
(i32.const 7)
)
)
(nop)
(drop
(i32.const 11)
)
(drop
(i32.const 9)
)
(drop
(local.get $y)
)
(block $block1
(drop
(i32.const 8)
)
(drop
(local.get $y)
)
)
(drop
(i32.const 11)
)
(drop
(local.get $y)
)
(nop)
(nop)
(nop)
(nop)
(nop)
(nop)
(nop)
(block $block2
(nop)
(nop)
(drop
(i32.const 1)
)
(drop
(i32.const 2)
)
(drop
(i32.const 3)
)
(drop
(i32.const 4)
)
(nop)
(nop)
(drop
(i32.const 6)
)
(drop
(i32.const 5)
)
(drop
(i32.const 7)
)
(drop
(i32.const 8)
)
(local.set $a
(i32.const 9)
)
(local.set $b
(i32.const 10)
)
(call $waka)
(drop
(local.get $a)
)
(drop
(local.get $b)
)
(drop
(i32.const 11)
)
(drop
(i32.const 12)
)
(nop)
(nop)
(drop
(i32.load
(i32.const 24)
)
)
(drop
(i32.const 13)
)
(drop
(i32.const 14)
)
(drop
(i32.const 15)
)
(drop
(i32.const 16)
)
(nop)
(nop)
(i32.store
(i32.const 48)
(i32.const 96)
)
(local.set $a
(i32.const 17)
)
(local.set $b
(i32.const 18)
)
)
(block $block3
(nop)
(local.set $a
(call $waka_int)
)
(call $waka)
(local.set $a
(call $waka_int)
)
(call $waka)
(drop
(local.get $a)
)
(call $waka)
(local.set $a
(call $waka_int)
)
(drop
(i32.load
(i32.const 1)
)
)
(drop
(local.get $a)
)
(call $waka)
(local.set $a
(call $waka_int)
)
(i32.store
(i32.const 1)
(i32.const 2)
)
(drop
(local.get $a)
)
(call $waka)
(nop)
(local.set $a
(i32.load
(i32.const 100)
)
)
(call $waka)
(nop)
(drop
(i32.load
(i32.const 1)
)
)
(local.set $a
(i32.load
(i32.const 101)
)
)
(call $waka)
(local.set $a
(i32.load
(i32.const 102)
)
)
(call $waka)
(drop
(local.get $a)
)
(call $waka)
(local.set $a
(i32.load
(i32.const 103)
)
)
(i32.store
(i32.const 1)
(i32.const 2)
)
(drop
(local.get $a)
)
(call $waka)
(nop)
(local.set $a
(block (result i32)
(block
(nop)
(i32.store
(i32.const 104)
(local.tee $5
(i32.const 105)
)
)
)
(local.get $5)
)
)
(call $waka)
(local.set $a
(block (result i32)
(block
(nop)
(i32.store
(i32.const 106)
(local.tee $6
(i32.const 107)
)
)
)
(local.get $6)
)
)
(call $waka)
(drop
(local.get $a)
)
(call $waka)
(local.set $a
(block (result i32)
(block
(nop)
(i32.store
(i32.const 108)
(local.tee $7
(i32.const 109)
)
)
)
(local.get $7)
)
)
(drop
(i32.load
(i32.const 1)
)
)
(drop
(local.get $a)
)
(call $waka)
(local.set $a
(block (result i32)
(block
(nop)
(i32.store
(i32.const 110)
(local.tee $8
(i32.const 111)
)
)
)
(local.get $8)
)
)
(i32.store
(i32.const 1)
(i32.const 2)
)
(drop
(local.get $a)
)
(call $waka)
)
(block $out-of-block
(nop)
(nop)
(drop
(block $b (result i32)
(block $c
(br $b
(i32.const 1337)
)
)
(nop)
(i32.const 9876)
)
)
)
(block $loopey
(local.set $a
(i32.const 1337)
)
(drop
(loop $loop-in5 (result i32)
(drop
(local.get $a)
)
(local.tee $a
(i32.const 9876)
)
)
)
(drop
(local.get $a)
)
)
)
(func $Ia (type $5) (param $a i32) (result i32)
(local $b i32)
(block $switch$0
(block $switch-default$6
(nop)
)
)
(return
(i32.const 60)
)
)
(func $memories (type $6) (param $i2 i32) (param $i3 i32) (param $bi2 i32) (param $bi3 i32) (param $ci3 i32) (param $di3 i32)
(local $set_with_no_get i32)
(nop)
(i32.store8
(local.get $i2)
(i32.const 1)
)
(nop)
(i32.store8
(local.tee $bi3
(i32.const 1)
)
(local.get $bi3)
)
(nop)
(i32.store8
(local.get $bi3)
(local.get $bi3)
)
(local.set $di3
(local.tee $bi3
(i32.const 123)
)
)
(i32.store8
(local.get $bi3)
(local.get $di3)
)
(nop)
)
(func $___remdi3 (type $FUNCSIG$iiiii) (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32)
(local $$1$1 i32)
(local $$1$0 i32)
(local $$rem i32)
(local $__stackBase__ i32)
(local $$2$1 i32)
(local $$2$0 i32)
(local $$4$1 i32)
(local $$4$0 i32)
(local $$10$1 i32)
(local $$10$0 i32)
(local $$6$0 i32)
(local.set $__stackBase__
(i32.load
(i32.const 8)
)
)
(i32.store
(i32.const 8)
(i32.add
(i32.load
(i32.const 8)
)
(i32.const 16)
)
)
(local.set $$rem
(local.get $__stackBase__)
)
(local.set $$1$0
(i32.or
(i32.shr_s
(local.get $$a$1)
(i32.const 31)
)
(i32.shl
(if (result i32)
(i32.lt_s
(local.get $$a$1)
(i32.const 0)
)
(then
(i32.const -1)
)
(else
(i32.const 0)
)
)
(i32.const 1)
)
)
)
(local.set $$1$1
(i32.or
(i32.shr_s
(if (result i32)
(i32.lt_s
(local.get $$a$1)
(i32.const 0)
)
(then
(i32.const -1)
)
(else
(i32.const 0)
)
)
(i32.const 31)
)
(i32.shl
(if (result i32)
(i32.lt_s
(local.get $$a$1)
(i32.const 0)
)
(then
(i32.const -1)
)
(else
(i32.const 0)
)
)
(i32.const 1)
)
)
)
(local.set $$2$0
(i32.or
(i32.shr_s
(local.get $$b$1)
(i32.const 31)
)
(i32.shl
(if (result i32)
(i32.lt_s
(local.get $$b$1)
(i32.const 0)
)
(then
(i32.const -1)
)
(else
(i32.const 0)
)
)
(i32.const 1)
)
)
)
(local.set $$2$1
(i32.or
(i32.shr_s
(if (result i32)
(i32.lt_s
(local.get $$b$1)
(i32.const 0)
)
(then
(i32.const -1)
)
(else
(i32.const 0)
)
)
(i32.const 31)
)
(i32.shl
(if (result i32)
(i32.lt_s
(local.get $$b$1)
(i32.const 0)
)
(then
(i32.const -1)
)
(else
(i32.const 0)
)
)
(i32.const 1)
)
)
)
(nop)
(nop)
(drop
(call $___udivmoddi4
(call $_i64Subtract
(i32.xor
(local.get $$1$0)
(local.get $$a$0)
)
(i32.xor
(local.get $$1$1)
(local.get $$a$1)
)
(local.get $$1$0)
(local.get $$1$1)
)
(i32.load
(i32.const 168)
)
(call $_i64Subtract
(i32.xor
(local.get $$2$0)
(local.get $$b$0)
)
(i32.xor
(local.get $$2$1)
(local.get $$b$1)
)
(local.get $$2$0)
(local.get $$2$1)
)
(i32.load
(i32.const 168)
)
(local.get $$rem)
)
)
(local.set $$10$0
(call $_i64Subtract
(i32.xor
(i32.load
(local.get $$rem)
)
(local.get $$1$0)
)
(i32.xor
(i32.load offset=4
(local.get $$rem)
)
(local.get $$1$1)
)
(local.get $$1$0)
(local.get $$1$1)
)
)
(local.set $$10$1
(i32.load
(i32.const 168)
)
)
(i32.store
(i32.const 8)
(local.get $__stackBase__)
)
(return
(block $block12 (result i32)
(i32.store
(i32.const 168)
(local.get $$10$1)
)
(local.get $$10$0)
)
)
)
(func $block-returns (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(block $out (result i32)
(nop)
(drop
(br_if $out
(local.tee $x
(block $waka (result i32)
(nop)
(drop
(br_if $waka
(local.tee $x
(i32.const 12)
)
(i32.const 1)
)
)
(nop)
(i32.const 34)
)
)
(i32.const 1)
)
)
(drop
(local.get $x)
)
(block $waka2
(local.set $x
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 13)
)
(else
(nop)
(i32.const 24)
)
)
)
(nop)
)
(drop
(br_if $out
(local.tee $x
(if (result i32)
(i32.const 1)
(then
(block $block3
(nop)
)
(i32.const 14)
)
(else
(block $block5
(nop)
)
(i32.const 25)
)
)
)
(i32.const 1)
)
)
(block $sink-out-of-me-i-have-but-one-exit
(nop)
)
(nop)
(i32.const 99)
)
)
)
(func $multiple (type $6) (param $s i32) (param $r i32) (param $f i32) (param $p i32) (param $t i32) (param $m i32)
(nop)
(local.set $r
(i32.add
(local.get $f)
(local.get $p)
)
)
(local.set $t
(local.get $p)
)
(local.set $p
(i32.load
(i32.const 0)
)
)
(i32.store
(local.get $r)
(local.get $t)
)
(drop
(local.get $m)
)
(drop
(local.get $t)
)
)
(func $switch-def (type $5) (param $i3 i32) (result i32)
(local $i1 i32)
(local.set $i1
(i32.const 10)
)
(block $switch$def
(block $switch-case$1
(br_table $switch-case$1 $switch$def
(local.get $i3)
)
)
(local.set $i1
(i32.const 1)
)
)
(return
(local.get $i1)
)
)
(func $no-out-of-label (type $12) (param $x i32) (param $y i32)
(nop)
(local.set $x
(loop $moar (result i32)
(nop)
(block (result i32)
(br_if $moar
(local.get $x)
)
(i32.const 0)
)
)
)
(block $moar0
(local.set $y
(block (result i32)
(br_if $moar0
(local.get $y)
)
(i32.const 0)
)
)
)
(drop
(local.get $y)
)
)
(func $freetype-cd (type $5) (param $a i32) (result i32)
(local $e i32)
(nop)
(local.tee $a
(loop $while-in$1 (result i32)
(nop)
(block $while-out$0 (result i32)
(local.set $e
(local.get $a)
)
(nop)
(drop
(br_if $while-out$0
(local.tee $a
(i32.const 4)
)
(local.get $e)
)
)
(nop)
(i32.add
(local.get $a)
(i32.const 0)
)
)
)
)
)
(func $drop-if-value (type $7) (param $x i32) (param $y i32) (param $z i32) (result i32)
(local $temp i32)
(drop
(if (result i32)
(local.get $x)
(then
(block $block53 (result i32)
(nop)
(local.set $temp
(local.get $y)
)
(local.get $z)
)
)
(else
(block $block54 (result i32)
(nop)
(local.set $temp
(local.get $y)
)
(local.get $z)
)
)
)
)
(drop
(local.get $temp)
)
(return
(i32.const 0)
)
)
(func $drop-br_if (type $7) (param $label i32) (param $$cond2 i32) (param $$$0151 i32) (result i32)
(nop)
(local.tee $label
(block $label$break$L4 (result i32)
(if
(i32.eq
(local.get $label)
(i32.const 15)
)
(then
(block $block
(nop)
(nop)
(drop
(br_if $label$break$L4
(local.tee $label
(i32.const 0)
)
(i32.eqz
(i32.eq
(local.get $$$0151)
(i32.const 0)
)
)
)
)
)
)
)
(nop)
(i32.const 1)
)
)
)
(func $drop-tee-unreachable (type $FUNCSIG$v)
(local $x i32)
(local.tee $x
(unreachable)
)
(drop
(local.get $x)
)
)
(func $if-return-but-unreachable (type $13) (param $var$0 i64)
(if
(unreachable)
(then
(drop
(local.get $var$0)
)
)
(else
(local.set $var$0
(i64.const 1)
)
)
)
)
(func $if-one-side (type $FUNCSIG$i) (result i32)
(local $x i32)
(nop)
(local.tee $x
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 2)
)
(else
(local.get $x)
)
)
)
)
(func $if-one-side-undo (type $FUNCSIG$i) (result i32)
(local $x i32)
(local $y i32)
(local.set $y
(i32.const 0)
)
(local.set $x
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 2)
)
(else
(local.get $x)
)
)
)
(local.get $y)
)
(func $if-one-side-multi (type $5) (param $0 i32) (result i32)
(nop)
(local.tee $0
(if (result i32)
(i32.lt_s
(local.get $0)
(i32.const -1073741824)
)
(then
(nop)
(i32.const -1073741824)
)
(else
(nop)
(if (result i32)
(i32.gt_s
(local.get $0)
(i32.const 1073741823)
)
(then
(nop)
(i32.const 1073741823)
)
(else
(local.get $0)
)
)
)
)
)
)
(func $if-one-side-undo-but-its-a-tee (type $5) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $x i32)
(local $y i32)
(local $z i32)
(local.set $x
(if (result i32)
(i32.const -1)
(then
(i32.const -2)
)
(else
(local.get $x)
)
)
)
(drop
(call $if-one-side-undo-but-its-a-tee
(local.tee $x
(if (result i32)
(i32.const -3)
(then
(i32.const -4)
)
(else
(local.get $x)
)
)
)
)
)
(nop)
(drop
(i32.eqz
(local.tee $y
(if (result i32)
(i32.const -5)
(then
(i32.const -6)
)
(else
(local.get $y)
)
)
)
)
)
(nop)
(drop
(i32.add
(local.tee $z
(if (result i32)
(i32.const -7)
(then
(i32.const -8)
)
(else
(local.get $z)
)
)
)
(local.get $z)
)
)
(if
(block $label$1 (result i32)
(nop)
(nop)
(local.tee $4
(if (result i32)
(local.tee $4
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 2)
)
(else
(local.get $4)
)
)
)
(then
(nop)
(i32.const 0)
)
(else
(local.get $4)
)
)
)
)
(then
(unreachable)
)
)
(i32.const 0)
)
(func $splittable-ifs-multicycle (type $5) (param $20 i32) (result i32)
(nop)
(local.tee $20
(if (result i32)
(i32.const 1)
(then
(if (result i32)
(i32.const 2)
(then
(if (result i32)
(i32.const 3)
(then
(i32.const 4)
)
(else
(local.get $20)
)
)
)
(else
(local.get $20)
)
)
)
(else
(local.get $20)
)
)
)
)
(func $update-getCounter (type $14) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f32) (param $4 i32) (result f64)
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(loop $label$1 (result f64)
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(call $fimport$0
(local.tee $3
(if (result f32)
(i32.eqz
(local.get $0)
)
(then
(f32.const 4623408228068004207103214e13)
)
(else
(local.get $3)
)
)
)
)
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(if (result f64)
(global.get $global$0)
(then
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(local.set $0
(i32.const -65)
)
(global.set $global$0
(i32.sub
(global.get $global$0)
(i32.const 1)
)
)
(br $label$1)
)
(else
(f64.const -70)
)
)
)
)
)
(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $5 (func (param i32) (result i32)))
(type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32)))
(type $4 (func (param i32)))
(type $7 (func (param f32)))
(type $8 (func (param i32 i32)))
(type $9 (func (result f64)))
(type $10 (func (param i32 i32) (result f64)))
(type $11 (func (param i32 i32) (result i32)))
(import "env" "get1" (func $fimport$0 (type $FUNCSIG$i) (result i32)))
(import "fuzzing-support" "log-i32" (func $fimport$1 (type $4) (param i32)))
(import "fuzzing-support" "log-f32" (func $fimport$2 (type $7) (param f32)))
(global $global$0 (mut i32) (i32.const 10))
(memory $0 256 256 shared)
(func $nonatomics (type $FUNCSIG$i) (result i32)
(local $x i32)
(nop)
(drop
(i32.load
(i32.const 1028)
)
)
(i32.load
(i32.const 1024)
)
)
(func $nonatomic-growmem (type $FUNCSIG$i) (result i32)
(local $x i32)
(local.set $x
(i32.load
(memory.grow
(i32.const 1)
)
)
)
(drop
(i32.load
(i32.const 1028)
)
)
(local.get $x)
)
(func $atomics (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(i32.atomic.load
(i32.const 1024)
)
)
(drop
(i32.atomic.load
(i32.const 1028)
)
)
(drop
(local.get $x)
)
)
(func $one-atomic (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(i32.load
(i32.const 1024)
)
)
(drop
(i32.atomic.load
(i32.const 1028)
)
)
(drop
(local.get $x)
)
)
(func $other-atomic (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(i32.atomic.load
(i32.const 1024)
)
)
(drop
(i32.load
(i32.const 1028)
)
)
(drop
(local.get $x)
)
)
(func $atomic-growmem (type $FUNCSIG$i) (result i32)
(local $x i32)
(local.set $x
(i32.load
(memory.grow
(i32.const 1)
)
)
)
(drop
(i32.atomic.load
(i32.const 1028)
)
)
(local.get $x)
)
(func $atomicrmw (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(i32.atomic.rmw.add
(i32.const 1024)
(i32.const 1)
)
)
(drop
(i32.atomic.load
(i32.const 1028)
)
)
(drop
(local.get $x)
)
)
(func $atomic-cmpxchg (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(i32.atomic.rmw.cmpxchg
(i32.const 1024)
(i32.const 1)
(i32.const 2)
)
)
(drop
(i32.atomic.load
(i32.const 1028)
)
)
(drop
(local.get $x)
)
)
(func $br-value-reordering (type $FUNCSIG$i) (result i32)
(local $temp i32)
(block $outside
(loop $loop
(br_if $outside
(block (result i32)
(br_if $loop
(local.get $temp)
)
(unreachable)
(local.set $temp
(i32.const -1)
)
(i32.const 0)
)
)
)
(local.set $temp
(i32.const -1)
)
)
(unreachable)
)
(func $br-value-reordering-safe (type $FUNCSIG$i) (result i32)
(local $temp i32)
(local.set $temp
(block $outside (result i32)
(loop $loop
(drop
(local.get $temp)
)
(drop
(br_if $outside
(local.tee $temp
(i32.const -1)
)
(block (result i32)
(nop)
(i32.const 0)
)
)
)
)
(nop)
(i32.const -1)
)
)
(unreachable)
)
(func $if-one-side-unreachable (type $FUNCSIG$v)
(local $x i32)
(block $out
(drop
(if (result i32)
(i32.const 1)
(then
(br $out)
(nop)
)
(else
(nop)
(i32.const 2)
)
)
)
(drop
(if (result i32)
(i32.const 3)
(then
(nop)
(i32.const 4)
)
(else
(br $out)
(nop)
)
)
)
(if
(i32.const 5)
(then
(br $out)
)
(else
(br $out)
)
)
)
)
(func $if-one-side-unreachable-blocks (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(block $out
(drop
(if (result i32)
(i32.const 1)
(then
(nop)
(nop)
(br $out)
(nop)
)
(else
(nop)
(nop)
(i32.const 4)
)
)
)
(drop
(if (result i32)
(i32.const 6)
(then
(nop)
(nop)
(i32.const 7)
)
(else
(nop)
(nop)
(br $out)
(nop)
)
)
)
(if
(i32.const 11)
(then
(nop)
(nop)
(br $out)
)
(else
(nop)
(nop)
(br $out)
)
)
)
)
(func $loop-value (type $5) (param $x i32) (result i32)
(loop $loopy
(unreachable)
)
(nop)
(loop $loopy0 (result i32)
(nop)
(i32.const 1)
)
)
(func $loop-loop-loopy-value (type $5) (param $x i32) (result i32)
(nop)
(loop $loopy1 (result i32)
(nop)
(loop $loopy2 (result i32)
(nop)
(loop $loopy3 (result i32)
(nop)
(i32.const 1)
)
)
)
)
(func $loop-modified-during-main-pass-be-careful-fuzz (type $FUNCSIG$i) (result i32)
(local $0 i32)
(nop)
(if (result i32)
(i32.const 0)
(then
(nop)
(i32.const 0)
)
(else
(loop $label$4
(br $label$4)
)
(nop)
)
)
)
(func $loop-later (type $FUNCSIG$iiiiii) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (result i32)
(nop)
(i32.const 0)
)
(func $pick (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(local.get $y)
)
(drop
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 1)
)
(else
(local.get $x)
)
)
)
(drop
(local.get $y)
)
(local.set $x
(local.get $y)
)
)
(func $pick-2 (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $y
(local.get $x)
)
(drop
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 1)
)
(else
(local.get $y)
)
)
)
(drop
(local.get $x)
)
(local.set $y
(local.get $x)
)
)
(func $many (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local $z i32)
(local $w i32)
(nop)
(nop)
(local.set $z
(local.tee $y
(local.get $x)
)
)
(drop
(local.get $x)
)
(local.set $y
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 1)
)
(else
(local.get $y)
)
)
)
(local.set $x
(local.get $z)
)
(drop
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 1)
)
(else
(local.get $y)
)
)
)
(nop)
(nop)
(local.set $y
(local.get $x)
)
(nop)
(local.set $x
(local.tee $z
(i32.const 2)
)
)
(drop
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 1)
)
(else
(local.get $y)
)
)
)
(nop)
(nop)
(local.set $y
(local.get $x)
)
(local.set $z
(i32.const 2)
)
(drop
(local.get $x)
)
)
(func $loop-copies (type $8) (param $x i32) (param $y i32)
(loop $loop
(nop)
(drop
(local.get $y)
)
(br_if $loop
(local.get $y)
)
)
)
(func $proper-type (type $9) (result f64)
(local $var$0 i32)
(local $var$2 f64)
(local.set $var$0
(select
(i32.const 0)
(i32.const 1)
(local.get $var$0)
)
)
(local.get $var$2)
)
(func $multi-pass-get-equivs-right (type $10) (param $var$0 i32) (param $var$1 i32) (result f64)
(local $var$2 i32)
(nop)
(i32.store
(local.get $var$0)
(i32.const 1)
)
(f64.promote_f32
(f32.load
(local.get $var$0)
)
)
)
(func $if-value-structure-equivalent (type $5) (param $x i32) (result i32)
(local $y i32)
(nop)
(local.tee $x
(if (result i32)
(i32.const 1)
(then
(nop)
(i32.const 2)
)
(else
(nop)
(nop)
(local.get $x)
)
)
)
)
(func $set-tee-need-one-of-them (type $11) (param $var$0 i32) (param $var$1 i32) (result i32)
(local $var$2 i32)
(local $var$3 i32)
(local.set $var$2
(local.get $var$0)
)
(loop $loop
(br_if $loop
(local.get $var$1)
)
)
(local.get $var$2)
)
(func $loop-value-harder (type $FUNCSIG$i) (result i32)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 f32)
(local $4 f32)
(local $5 f32)
(local $6 f32)
(local $7 f32)
(local $8 f32)
(local $9 f32)
(local $10 f32)
(block $label$1
(nop)
(nop)
(call $fimport$2
(loop $label$2 (result f32)
(block $label$3
(global.set $global$0
(i32.const -1)
)
(block $label$4
(nop)
(nop)
)
(nop)
(nop)
)
(nop)
(nop)
(if (result f32)
(call $fimport$0)
(then
(nop)
(f32.const -2048)
)
(else
(call $fimport$1
(i32.const -25732)
)
(br $label$2)
(nop)
)
)
)
)
(nop)
)
(nop)
(return
(i32.const -5417091)
)
)
(func $tee-chain (type $FUNCSIG$iiiiii) (param $x i32) (param $z i32) (param $t1 i32) (param $t2 i32) (param $t3 i32) (result i32)
(nop)
(drop
(i32.const 10)
)
(nop)
(local.set $t2
(local.tee $t3
(local.tee $t1
(call $tee-chain
(local.get $x)
(local.tee $z
(i32.const 10)
)
(local.get $t1)
(local.get $t2)
(local.get $t3)
)
)
)
)
(call $tee-chain
(local.get $x)
(local.get $z)
(local.get $t1)
(local.get $t2)
(local.get $t3)
)
)
)
(module
(type $0 (func))
(memory $0 256 256)
(data $0 "hello, there!")
(func $memory-init-load (type $0)
(local $x i32)
(local.set $x
(i32.load
(i32.const 0)
)
)
(memory.init $0
(i32.const 0)
(i32.const 0)
(i32.const 5)
)
(drop
(local.get $x)
)
)
(func $memory-init-store (type $0)
(local $x i32)
(local.set $x
(block (result i32)
(i32.store
(i32.const 0)
(i32.const 42)
)
(i32.const 0)
)
)
(memory.init $0
(i32.const 0)
(i32.const 0)
(i32.const 5)
)
(drop
(local.get $x)
)
)
(func $memory-copy-load (type $0)
(local $x i32)
(local.set $x
(i32.load
(i32.const 0)
)
)
(memory.copy
(i32.const 0)
(i32.const 8)
(i32.const 8)
)
(drop
(local.get $x)
)
)
(func $memory-copy-store (type $0)
(local $x i32)
(local.set $x
(block (result i32)
(i32.store
(i32.const 0)
(i32.const 42)
)
(i32.const 0)
)
)
(memory.copy
(i32.const 0)
(i32.const 8)
(i32.const 8)
)
(drop
(local.get $x)
)
)
(func $memory-fill-load (type $0)
(local $x i32)
(local.set $x
(i32.load
(i32.const 0)
)
)
(memory.fill
(i32.const 0)
(i32.const 42)
(i32.const 8)
)
(drop
(local.get $x)
)
)
(func $memory-fill-store (type $0)
(local $x i32)
(local.set $x
(block (result i32)
(i32.store
(i32.const 0)
(i32.const 42)
)
(i32.const 0)
)
)
(memory.fill
(i32.const 0)
(i32.const 8)
(i32.const 8)
)
(drop
(local.get $x)
)
)
(func $data-drop-load (type $0)
(local $x i32)
(local.set $x
(i32.load
(i32.const 0)
)
)
(data.drop $0)
(drop
(local.get $x)
)
)
(func $data-drop-store (type $0)
(local $x i32)
(local.set $x
(block (result i32)
(i32.store
(i32.const 0)
(i32.const 42)
)
(i32.const 0)
)
)
(data.drop $0)
(drop
(local.get $x)
)
)
(func $data-drop-memory-init (type $0)
(local $x i32)
(local.set $x
(block (result i32)
(memory.init $0
(i32.const 0)
(i32.const 0)
(i32.const 5)
)
(i32.const 0)
)
)
(data.drop $0)
(drop
(local.get $x)
)
)
)
(module
(type $0 (func (result anyref)))
(func $subtype-test (type $0) (result anyref)
(local $0 eqref)
(local $1 anyref)
(local $2 anyref)
(block
(nop)
)
(nop)
(local.get $0)
)
)
(module
(type $0 (func (result i32)))
(memory $0 1 1 shared)
(data $0 "data")
(export "foo" (func $foo))
(func $foo (type $0) (result i32)
(local $0 i32)
(local.set $0
(i32.rem_u
(i32.const 0)
(i32.const 0)
)
)
(data.drop $0)
(local.get $0)
)
)
(module
(type $0 (func (param eqref i31ref) (result i32)))
(export "test" (func $test))
(func $test (type $0) (param $0 eqref) (param $1 i31ref) (result i32)
(local $2 eqref)
(local $3 i31ref)
(local.set $2
(local.get $0)
)
(local.set $0
(local.get $3)
)
(ref.eq
(local.get $2)
(local.get $1)
)
)
)