blob: 78d82807bb199802cd6f68af7da92c8d037a521e [file] [log] [blame] [edit]
(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$i (func (result i32)))
(type $FUNCSIG$j (func (result i64)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(memory $0 1)
(global $glob (mut i32) (i32.const 1))
(func $loop1 (; 0 ;) (type $FUNCSIG$v)
(drop
(i32.const 10)
)
(loop $loop
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop2 (; 1 ;) (type $FUNCSIG$v)
(drop
(i32.const 10)
)
(drop
(i32.const 20)
)
(loop $loop
(nop)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop3 (; 2 ;) (type $FUNCSIG$v)
(drop
(i32.const 10)
)
(drop
(i32.const 20)
)
(loop $loop
(nop)
(call $loop2)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop4 (; 3 ;) (type $FUNCSIG$v)
(drop
(i32.load
(i32.const 1)
)
)
(loop $loop
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop3-4 (; 4 ;) (type $FUNCSIG$v)
(loop $loop
(drop
(i32.load
(i32.const 10)
)
)
(call $loop2)
(drop
(i32.load
(i32.const 20)
)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop3-4-b (; 5 ;) (type $FUNCSIG$v)
(drop
(i32.load
(i32.const 10)
)
)
(drop
(i32.load
(i32.const 20)
)
)
(loop $loop
(nop)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop5 (; 6 ;) (type $FUNCSIG$v)
(loop $loop
(i32.store
(i32.const 1)
(i32.const 2)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop6 (; 7 ;) (type $FUNCSIG$v)
(loop $loop
(i32.store
(i32.const 1)
(i32.const 2)
)
(i32.store
(i32.const 2)
(i32.const 3)
)
)
)
(func $loop7 (; 8 ;) (type $FUNCSIG$v)
(loop $loop
(i32.store
(i32.const 1)
(i32.const 2)
)
(i32.store
(i32.const 2)
(i32.const 3)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop8 (; 9 ;) (type $FUNCSIG$v)
(loop $loop
(i32.store
(i32.const 1)
(i32.const 2)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop9 (; 10 ;) (type $FUNCSIG$v)
(loop $loop
(drop
(i32.load
(i32.const 1)
)
)
(i32.store
(i32.const 1)
(i32.const 2)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop10 (; 11 ;) (type $FUNCSIG$v)
(drop
(i32.load
(i32.const 1)
)
)
(drop
(i32.load
(i32.const 2)
)
)
(loop $loop
(nop)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop11 (; 12 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(loop $loop
(drop
(local.get $x)
)
(br_if $loop
(local.tee $x
(i32.const 2)
)
)
)
)
(func $loop12 (; 13 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(drop
(local.get $x)
)
(loop $loop
(nop)
(br_if $loop
(local.tee $y
(i32.const 2)
)
)
)
)
(func $loop13 (; 14 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.eqz
(local.get $y)
)
)
(loop $loop
(nop)
(call $loop12)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop14 (; 15 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.eqz
(local.get $y)
)
)
(loop $loop
(nop)
(call $loop12)
(br_if $loop
(i32.const 1)
)
(local.set $y
(local.get $x)
)
)
)
(func $loop14-1 (; 16 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(loop $loop
(local.set $x
(i32.eqz
(local.get $y)
)
)
(call $loop12)
(local.set $y
(local.get $x)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop15 (; 17 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.eqz
(local.get $y)
)
)
(loop $loop
(nop)
(call $loop12)
(br_if $loop
(i32.const 1)
)
(drop
(local.get $y)
)
)
)
(func $loop15-1 (; 18 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.eqz
(local.get $y)
)
)
(drop
(local.get $y)
)
(loop $loop
(nop)
(call $loop12)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop16 (; 19 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.eqz
(local.get $y)
)
)
(loop $loop
(nop)
(call $loop12)
(br_if $loop
(i32.const 1)
)
(drop
(local.get $x)
)
)
)
(func $loop16-1 (; 20 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.eqz
(local.get $y)
)
)
(drop
(local.get $x)
)
(loop $loop
(nop)
(call $loop12)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $loop16-2 (; 21 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $x
(i32.const 2)
)
(block
(local.set $x
(i32.eqz
(local.get $y)
)
)
(drop
(local.get $x)
)
(loop $loop
(nop)
(call $loop12)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
)
(func $loop16-3 (; 22 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local.set $y
(i32.const 2)
)
(block
(local.set $x
(i32.eqz
(local.get $y)
)
)
(drop
(local.get $x)
)
(loop $loop
(nop)
(call $loop12)
(nop)
(br_if $loop
(i32.const 1)
)
)
)
)
(func $nop (; 23 ;) (type $FUNCSIG$v)
(loop $loop
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $nested-blocks (; 24 ;) (type $FUNCSIG$v)
(loop $loop
(block $block
(nop)
)
(block $x
(nop)
)
(block $a
(block $b
(block $c
(nop)
)
)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $nested-unhoistable-blocks (; 25 ;) (type $FUNCSIG$v)
(loop $loop
(block $block
(call $nested-unhoistable-blocks)
)
(block $x
(call $nested-unhoistable-blocks)
)
(block $a
(block $b
(block $c
(call $nested-unhoistable-blocks)
)
)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $conditional (; 26 ;) (type $FUNCSIG$v)
(if
(i32.const 0)
(drop
(i32.const 10)
)
)
(loop $loop
(nop)
(br_if $loop
(i32.const 1)
)
)
)
(func $conditional1 (; 27 ;) (type $FUNCSIG$i) (result i32)
(loop $loop
(if
(call $conditional1)
(drop
(i32.const 10)
)
)
(br_if $loop
(i32.const 1)
)
)
(unreachable)
)
(func $conditional2 (; 28 ;) (type $FUNCSIG$v)
(block $out
(loop $loop
(br_if $out
(i32.const 1)
)
(drop
(i32.const 10)
)
(br_if $loop
(i32.const 1)
)
)
)
)
(func $conditional3 (; 29 ;) (type $FUNCSIG$v)
(block $out
(block
(drop
(i32.const 10)
)
(loop $loop
(nop)
(br_if $out
(i32.const 1)
)
(br_if $loop
(i32.const 1)
)
)
)
)
)
(func $after (; 30 ;) (type $FUNCSIG$v)
(loop $loop
(nop)
)
(drop
(i32.const 10)
)
)
(func $loops (; 31 ;) (type $FUNCSIG$v)
(drop
(i32.const 10)
)
(loop $loop2
(nop)
(loop $loop1
(nop)
(br_if $loop1
(i32.const 1)
)
)
)
)
(func $loops2 (; 32 ;) (type $FUNCSIG$v)
(drop
(i32.const 10)
)
(loop $loop2
(nop)
(loop $loop1
(nop)
(br_if $loop2
(i32.const 1)
)
)
)
)
(func $fuzz1 (; 33 ;) (type $FUNCSIG$j) (result i64)
(local $var$1 i64)
(drop
(block (result i32)
(local.set $var$1
(block $label$5 (result i64)
(local.set $var$1
(i64.const -29585)
)
(i64.const -70)
)
)
(loop $label$4 (result i32)
(nop)
(i32.const 1)
)
)
)
(loop $label$1 (result i64)
(block $label$2
(block $label$3
(nop)
(br $label$2)
)
(unreachable)
)
(local.get $var$1)
)
)
(func $self (; 34 ;) (type $FUNCSIG$i) (result i32)
(local $x i32)
(loop $loop
(local.set $x
(i32.add
(local.get $x)
(i32.const 1)
)
)
(br_if $loop
(i32.const 1)
)
)
(local.get $x)
)
(func $nested-set (; 35 ;) (type $FUNCSIG$v)
(local $var$0 i32)
(local $var$1 i64)
(loop $label$1
(local.set $var$0
(block $label$3 (result i32)
(local.set $var$1
(i64.const 0)
)
(local.get $var$0)
)
)
(local.set $var$1
(i64.const 1)
)
(br_if $label$1
(i32.const 0)
)
)
)
(func $load-store (; 36 ;) (type $FUNCSIG$vi) (param $x i32)
(loop $loop
(drop
(i32.load
(i32.const 0)
)
)
(i32.store
(local.get $x)
(local.get $x)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $set-set (; 37 ;) (type $FUNCSIG$ii) (param $x i32) (result i32)
(loop $loop
(local.set $x
(i32.const 1)
)
(br_if $loop
(i32.const 2)
)
(local.set $x
(i32.const 3)
)
(br_if $loop
(i32.const 4)
)
)
(local.get $x)
)
(func $copies-no (; 38 ;) (type $FUNCSIG$v)
(local $x i32)
(local $y i32)
(local $z i32)
(local $a i32)
(local $b i32)
(local $c i32)
(loop $loop
(local.set $x
(local.get $x)
)
(local.set $y
(local.get $z)
)
(local.set $a
(local.tee $b
(local.get $c)
)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $consts-no (; 39 ;) (type $FUNCSIG$v)
(local $x i32)
(local $a i32)
(local $b i32)
(loop $loop
(local.set $x
(i32.const 0)
)
(local.set $a
(local.tee $b
(i32.const 1)
)
)
(br_if $loop
(i32.const 1)
)
)
)
(func $global (; 40 ;) (type $FUNCSIG$v)
(local $x i32)
(local.set $x
(global.get $glob)
)
(drop
(local.get $x)
)
(loop $loop
(nop)
(nop)
(br_if $loop
(local.get $x)
)
)
)
)