blob: 29533d6c5c100c38a60e940fe9f6fcb9de94d827 [file] [log] [blame] [edit]
;; RUN: wasm-fuzz-lattices -v --seed=0 | filecheck %s
;; CHECK: Running with seed 0
;; CHECK-NEXT: Generated test module:
;; CHECK-NEXT: (module
;; CHECK-NEXT: (type $none_=>_none (func))
;; CHECK-NEXT: (type $none_=>_i32 (func (result i32)))
;; CHECK-NEXT: (type $none_=>_i64 (func (result i64)))
;; CHECK-NEXT: (type $i32_=>_none (func (param i32)))
;; CHECK-NEXT: (type $i64_=>_none (func (param i64)))
;; CHECK-NEXT: (type $f32_=>_none (func (param f32)))
;; CHECK-NEXT: (type $f64_=>_none (func (param f64)))
;; CHECK-NEXT: (type $i32_=>_f32 (func (param i32) (result f32)))
;; CHECK-NEXT: (type $i32_f32_f64_f32_=>_i32 (func (param i32 f32 f64 f32) (result i32)))
;; CHECK-NEXT: (import "fuzzing-support" "log-i32" (func $log-i32 (param i32)))
;; CHECK-NEXT: (import "fuzzing-support" "log-i64" (func $log-i64 (param i64)))
;; CHECK-NEXT: (import "fuzzing-support" "log-f32" (func $log-f32 (param f32)))
;; CHECK-NEXT: (import "fuzzing-support" "log-f64" (func $log-f64 (param f64)))
;; CHECK-NEXT: (global $global$ i64 (i64.const -13))
;; CHECK-NEXT: (global $global$_1 i64 (i64.const -281474976710655))
;; CHECK-NEXT: (global $global$_2 (mut i32) (i32.const 32767))
;; CHECK-NEXT: (global $global$_3 i64 (i64.const 65534))
;; CHECK-NEXT: (global $global$_4 f32 (f32.const -0.484000027179718))
;; CHECK-NEXT: (global $global$_5 (mut f32) (f32.const 3402823466385288598117041e14))
;; CHECK-NEXT: (global $global$_6 (mut f64) (f64.const 392913192))
;; CHECK-NEXT: (global $global$_7 i32 (i32.const -1))
;; CHECK-NEXT: (global $global$_8 i32 (i32.const -7151))
;; CHECK-NEXT: (global $global$_9 f64 (f64.const 64257))
;; CHECK-NEXT: (global $global$_10 i32 (i32.const -511))
;; CHECK-NEXT: (global $global$_11 (mut i32) (i32.const -2))
;; CHECK-NEXT: (global $global$_12 (mut i32) (i32.const -101))
;; CHECK-NEXT: (global $global$_13 (mut f64) (f64.const -17592186044415.012))
;; CHECK-NEXT: (global $global$_14 i32 (i32.const 1))
;; CHECK-NEXT: (global $hangLimit (mut i32) (i32.const 100))
;; CHECK-NEXT: (memory $0 16 17)
;; CHECK-NEXT: (data $0 (i32.const 0) "\00\00 ")
;; CHECK-NEXT: (table $fuzzing_table 0 funcref)
;; CHECK-NEXT: (elem $elem$ (i32.const 0))
;; CHECK-NEXT: (export "func" (func $func))
;; CHECK-NEXT: (export "func_invoker" (func $func_invoker))
;; CHECK-NEXT: (export "func_6" (func $func_6))
;; CHECK-NEXT: (export "func_6_invoker" (func $func_6_invoker))
;; CHECK-NEXT: (export "func_8_invoker" (func $func_8_invoker))
;; CHECK-NEXT: (export "func_10_invoker" (func $func_10_invoker))
;; CHECK-NEXT: (export "hashMemory" (func $hashMemory))
;; CHECK-NEXT: (export "memory" (memory $0))
;; CHECK-NEXT: (func $func (param $0 i32) (result f32)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (f32.sub
;; CHECK-NEXT: (f32.load offset=4 align=1
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.const -26294)
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (loop $label$12 (result f32)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$13 (result f32)
;; CHECK-NEXT: (block $label$14
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (f64.ge
;; CHECK-NEXT: (loop $label$15 (result f64)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block (result f64)
;; CHECK-NEXT: (block $label$16
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$15
;; CHECK-NEXT: (select
;; CHECK-NEXT: (i32.const -4)
;; CHECK-NEXT: (block $label$18 (result i32)
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (if (result i32)
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (global.get $global$_14)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.get $global$_6)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (f64.const -nan:0xfffffffffff9b)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$14
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (i32.const -112)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (if (result f32)
;; CHECK-NEXT: (loop $label$24 (result i32)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block (result i32)
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$24
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$25 (result i32)
;; CHECK-NEXT: (if
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (block $label$26
;; CHECK-NEXT: (call $log-f32
;; CHECK-NEXT: (br_if $label$13
;; CHECK-NEXT: (f32.const -18446744073709551615)
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (loop $label$27 (result i32)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block (result i32)
;; CHECK-NEXT: (block $label$28
;; CHECK-NEXT: (call $log-f64
;; CHECK-NEXT: (if (result f64)
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (i32.const 7)
;; CHECK-NEXT: )
;; CHECK-NEXT: (f64.const -64)
;; CHECK-NEXT: (f64.const -nan:0xfffffffffff91)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i64
;; CHECK-NEXT: (i64.shr_s
;; CHECK-NEXT: (i64.const -128)
;; CHECK-NEXT: (i64.add
;; CHECK-NEXT: (i64.const -15324)
;; CHECK-NEXT: (select
;; CHECK-NEXT: (i64.load16_s offset=4 align=1
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.load offset=4 align=2
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (block $label$89 (result i32)
;; CHECK-NEXT: (f64.store offset=22 align=1
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.const -72)
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.get $global$_6)
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$89
;; CHECK-NEXT: (br_if $label$89
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (i32.const 23873)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.get $global$_14)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i64.const 5)
;; CHECK-NEXT: (if (result i32)
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (loop $label$74
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$75
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$76
;; CHECK-NEXT: (return
;; CHECK-NEXT: (f32.const -nan:0x7fff9f)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$77 (result i32)
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: (global.set $global$_6
;; CHECK-NEXT: (f64.const -3402823466385288598117041e14)
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.get $global$_10)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$78 (result i32)
;; CHECK-NEXT: (f32.store offset=22 align=1
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.load offset=22
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (if
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (loop $label$79 (result i32)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$80 (result i32)
;; CHECK-NEXT: (call $log-f64
;; CHECK-NEXT: (loop $label$81
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$82
;; CHECK-NEXT: (br_if $label$81
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (f32.const 14)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$83
;; CHECK-NEXT: (loop $label$84
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (block $label$85
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (block $label$86
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$87
;; CHECK-NEXT: (call $log-i64
;; CHECK-NEXT: (i64.const 12616)
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (f32.const 166)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (i32.load8_u offset=4
;; CHECK-NEXT: (if (result i32)
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const -2147483647)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$84
;; CHECK-NEXT: (i32.const -1048575)
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (f32.const 4294967296)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$88
;; CHECK-NEXT: (return
;; CHECK-NEXT: (f32.const 64541)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: (f32.convert_i32_u
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$27
;; CHECK-NEXT: (global.get $global$_2)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (i32.load8_s offset=4
;; CHECK-NEXT: (i32.const -91)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.store16 offset=22
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.gt_u
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (i32.load offset=2
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (if (result i32)
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (return
;; CHECK-NEXT: (f32.const -nan:0x7fffd5)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.get $global$_11)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$29 (result f32)
;; CHECK-NEXT: (call $log-f32
;; CHECK-NEXT: (call $func
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (f32.const 13)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$30
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (i32.trunc_f64_s
;; CHECK-NEXT: (f64.reinterpret_i64
;; CHECK-NEXT: (i64.const -2049)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br $label$12)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_invoker
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $func
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_6
;; CHECK-NEXT: (local $0 f64)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$0
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (i32.const 4)
;; CHECK-NEXT: )
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_6_invoker
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (call $func_6)
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_8 (result i32)
;; CHECK-NEXT: (local $0 i64)
;; CHECK-NEXT: (local $1 f32)
;; CHECK-NEXT: (local $2 i32)
;; CHECK-NEXT: (local $3 i64)
;; CHECK-NEXT: (local $4 f32)
;; CHECK-NEXT: (local $5 i64)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$0 (result i32)
;; CHECK-NEXT: (local.set $3
;; CHECK-NEXT: (loop $label$1 (result i64)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block (result i64)
;; CHECK-NEXT: (block $label$2
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$1
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (i32.reinterpret_f32
;; CHECK-NEXT: (f32.const -nan:0x7fc223)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i64.trunc_f32_u
;; CHECK-NEXT: (global.get $global$_4)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.get $global$_14)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_8_invoker
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $func_8)
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_10 (result i64)
;; CHECK-NEXT: (local $0 f64)
;; CHECK-NEXT: (local $1 f64)
;; CHECK-NEXT: (local $2 f64)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$0 (result i64)
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: (i64.load32_s offset=22
;; CHECK-NEXT: (global.get $global$_7)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_10_invoker
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $func_10)
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $func_10)
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (call $hashMemory)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $func_10)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $func_10)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_12 (result i64)
;; CHECK-NEXT: (local $0 i64)
;; CHECK-NEXT: (local $1 f64)
;; CHECK-NEXT: (local $2 i64)
;; CHECK-NEXT: (local $3 f32)
;; CHECK-NEXT: (local $4 i64)
;; CHECK-NEXT: (local $5 i64)
;; CHECK-NEXT: (local $6 i64)
;; CHECK-NEXT: (local $7 i64)
;; CHECK-NEXT: (local $8 i32)
;; CHECK-NEXT: (local $9 i32)
;; CHECK-NEXT: (local $10 f32)
;; CHECK-NEXT: (local $11 i64)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$1
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.load16_s offset=22
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (local.get $9)
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (i64.const 3)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $func_13 (param $0 i32) (param $1 f32) (param $2 f64) (param $3 f32) (result i32)
;; CHECK-NEXT: (local $4 i32)
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$0 (result i32)
;; CHECK-NEXT: (loop $label$1
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (block $label$2
;; CHECK-NEXT: (global.set $global$_13
;; CHECK-NEXT: (f64.load offset=3
;; CHECK-NEXT: (br_if $label$0
;; CHECK-NEXT: (i32.load offset=22 align=1
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=3
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.load offset=22 align=1
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.trunc_f32_s
;; CHECK-NEXT: (local.get $3)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $2
;; CHECK-NEXT: (f64.nearest
;; CHECK-NEXT: (f64.const -3402823466385288598117041e14)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$1
;; CHECK-NEXT: (i32.le_u
;; CHECK-NEXT: (select
;; CHECK-NEXT: (block $label$32
;; CHECK-NEXT: (loop $label$33
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (call $log-i32
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: (br_if $label$33
;; CHECK-NEXT: (local.tee $0
;; CHECK-NEXT: (global.get $global$_11)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $global$_13
;; CHECK-NEXT: (f64.nearest
;; CHECK-NEXT: (f64.const -3402823466385288598117041e14)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (i32.const 2147483646)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load offset=4
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (i32.wrap_i64
;; CHECK-NEXT: (i64.load32_s offset=4 align=2
;; CHECK-NEXT: (i32.and
;; CHECK-NEXT: (call $func_8)
;; CHECK-NEXT: (i32.const 15)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (loop $label$14
;; CHECK-NEXT: (block
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: )
;; CHECK-NEXT: (block
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.const 100)
;; CHECK-NEXT: )
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (global.set $hangLimit
;; CHECK-NEXT: (i32.sub
;; CHECK-NEXT: (global.get $hangLimit)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (block $label$15
;; CHECK-NEXT: (local.set $1
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $4)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $4)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $2
;; CHECK-NEXT: (f64.const -nan:0xfffffffffffb2)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (return
;; CHECK-NEXT: (i32.const -1217019)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (func $hashMemory (result i32)
;; CHECK-NEXT: (local $0 i32)
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.const 5381)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=1
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=2
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=3
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=4
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=5
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=6
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=7
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=8
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=9
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=10
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=11
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=12
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=13
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=14
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $0
;; CHECK-NEXT: (i32.xor
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (i32.shl
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (i32.load8_u offset=15
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 4234964801256893051
;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements:
;; CHECK-NEXT: 1,
;; CHECK-NEXT: 1,
;; CHECK-NEXT: 0
;; CHECK-NEXT: for func to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 4577570485573586799
;; CHECK-NEXT: Generated FinitePowersetLattice<LocalSet*> elements:
;; CHECK-NEXT: ,
;; CHECK-NEXT: ,
;; CHECK-NEXT:
;; CHECK-NEXT: for func_invoker to test ReachingDefinitionsTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 8191301589003135276
;; CHECK-NEXT: Generated FinitePowersetLattice<LocalSet*> elements:
;; CHECK-NEXT: 0,
;; CHECK-NEXT: 0,
;; CHECK-NEXT: 1
;; CHECK-NEXT: for func_6 to test ReachingDefinitionsTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 8068299453651594774
;; CHECK-NEXT: Generated FinitePowersetLattice<LocalSet*> elements:
;; CHECK-NEXT: ,
;; CHECK-NEXT: ,
;; CHECK-NEXT:
;; CHECK-NEXT: for func_6_invoker to test ReachingDefinitionsTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 5852178751023674337
;; CHECK-NEXT: Generated StackLattice<FiniteIntPowersetLattice> elements:
;; CHECK-NEXT: 010010
;; CHECK-NEXT: 000110
;; CHECK-NEXT: 000010
;; CHECK-NEXT: 111100
;; CHECK-NEXT: 111001
;; CHECK-NEXT: ,
;; CHECK-NEXT: 110111
;; CHECK-NEXT: 001000
;; CHECK-NEXT: 100000
;; CHECK-NEXT: 010010
;; CHECK-NEXT: 011110
;; CHECK-NEXT: 101111
;; CHECK-NEXT: 000001
;; CHECK-NEXT: 011011
;; CHECK-NEXT: ,
;; CHECK-NEXT: 111011
;; CHECK-NEXT: 010111
;; CHECK-NEXT: 111011
;; CHECK-NEXT: 011001
;; CHECK-NEXT: 001000
;; CHECK-NEXT: 001110
;; CHECK-NEXT: 101001
;; CHECK-NEXT: 010100
;; CHECK-NEXT: 111111
;; CHECK-NEXT:
;; CHECK-NEXT: for func_8 to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 13832862600605363478
;; CHECK-NEXT: Generated StackLattice<FiniteIntPowersetLattice> elements:
;; CHECK-NEXT: ,
;; CHECK-NEXT: ,
;; CHECK-NEXT:
;; CHECK-NEXT: for func_8_invoker to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 7970088265179676333
;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements:
;; CHECK-NEXT: 110,
;; CHECK-NEXT: 001,
;; CHECK-NEXT: 000
;; CHECK-NEXT: for func_10 to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 14582942952639200251
;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements:
;; CHECK-NEXT: ,
;; CHECK-NEXT: ,
;; CHECK-NEXT:
;; CHECK-NEXT: for func_10_invoker to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 16331556144677973625
;; CHECK-NEXT: Generated StackLattice<FiniteIntPowersetLattice> elements:
;; CHECK-NEXT: 111011111001
;; CHECK-NEXT: 111101000101
;; CHECK-NEXT: 010000101000
;; CHECK-NEXT: 001010000110
;; CHECK-NEXT: 010100100001
;; CHECK-NEXT: 111101100101
;; CHECK-NEXT: 111110001001
;; CHECK-NEXT: 100110000100
;; CHECK-NEXT: 000111111001
;; CHECK-NEXT: ,
;; CHECK-NEXT: 111100110101
;; CHECK-NEXT: 100010111101
;; CHECK-NEXT: 010100011110
;; CHECK-NEXT: 000011001000
;; CHECK-NEXT: 010000100101
;; CHECK-NEXT: 010010101010
;; CHECK-NEXT: 110101110000
;; CHECK-NEXT: 010110000100
;; CHECK-NEXT: 111101011111
;; CHECK-NEXT: 010101001111
;; CHECK-NEXT: 111000110111
;; CHECK-NEXT: ,
;; CHECK-NEXT: 110000010011
;; CHECK-NEXT: 010000001001
;; CHECK-NEXT: 001111100000
;; CHECK-NEXT: 011010110101
;; CHECK-NEXT: 011110111110
;; CHECK-NEXT: 001111010001
;; CHECK-NEXT: 100100001010
;; CHECK-NEXT: 010010100001
;; CHECK-NEXT: 010101001000
;; CHECK-NEXT: 011111011001
;; CHECK-NEXT: 001111100010
;; CHECK-NEXT: 100111000001
;; CHECK-NEXT: 001011010100
;; CHECK-NEXT: 101001010010
;; CHECK-NEXT:
;; CHECK-NEXT: for func_12 to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 6783688792201211800
;; CHECK-NEXT: Generated StackLattice<FiniteIntPowersetLattice> elements:
;; CHECK-NEXT: 00100
;; CHECK-NEXT: 11100
;; CHECK-NEXT: 00110
;; CHECK-NEXT: 10110
;; CHECK-NEXT: 01001
;; CHECK-NEXT: 00110
;; CHECK-NEXT: 10110
;; CHECK-NEXT: 11100
;; CHECK-NEXT: 00101
;; CHECK-NEXT: 01001
;; CHECK-NEXT: 01000
;; CHECK-NEXT: 00101
;; CHECK-NEXT: ,
;; CHECK-NEXT: 11010
;; CHECK-NEXT: 11001
;; CHECK-NEXT: 00101
;; CHECK-NEXT: 10010
;; CHECK-NEXT: 00101
;; CHECK-NEXT: 00111
;; CHECK-NEXT: 00000
;; CHECK-NEXT: 10111
;; CHECK-NEXT: ,
;; CHECK-NEXT: 11010
;; CHECK-NEXT: 11100
;; CHECK-NEXT: 10001
;; CHECK-NEXT: 11011
;; CHECK-NEXT: 01001
;; CHECK-NEXT: 11011
;; CHECK-NEXT: 00101
;; CHECK-NEXT:
;; CHECK-NEXT: for func_13 to test LivenessTransferFunction.
;; CHECK-NEXT:
;; CHECK-NEXT: Using lattice element seed 15457352654905208821
;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements:
;; CHECK-NEXT: 1,
;; CHECK-NEXT: 0,
;; CHECK-NEXT: 1
;; CHECK-NEXT: for hashMemory to test LivenessTransferFunction.
;; CHECK-NEXT: