diff options
Diffstat (limited to 'test')
84 files changed, 3332 insertions, 767 deletions
diff --git a/test/bad_params.fromasm b/test/bad_params.fromasm index 52f804340..1862f5ffe 100644 --- a/test/bad_params.fromasm +++ b/test/bad_params.fromasm @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "bad_params.asm.js") (export "ex" (func $ex)) - (func $ex (; 0 ;) + (func $ex (; 0 ;) (; has Stack IR ;) (nop) ) ) diff --git a/test/bad_params.fromasm.clamp b/test/bad_params.fromasm.clamp index 52f804340..1862f5ffe 100644 --- a/test/bad_params.fromasm.clamp +++ b/test/bad_params.fromasm.clamp @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "bad_params.asm.js") (export "ex" (func $ex)) - (func $ex (; 0 ;) + (func $ex (; 0 ;) (; has Stack IR ;) (nop) ) ) diff --git a/test/bad_params.fromasm.imprecise b/test/bad_params.fromasm.imprecise index ae5256c57..d174d5614 100644 --- a/test/bad_params.fromasm.imprecise +++ b/test/bad_params.fromasm.imprecise @@ -1,6 +1,6 @@ (module (export "ex" (func $ex)) - (func $ex (; 0 ;) + (func $ex (; 0 ;) (; has Stack IR ;) (nop) ) ) diff --git a/test/binaryen.js/hello-world.js.txt b/test/binaryen.js/hello-world.js.txt index c3cfae20b..dcdb21e80 100644 --- a/test/binaryen.js/hello-world.js.txt +++ b/test/binaryen.js/hello-world.js.txt @@ -16,7 +16,7 @@ optimized: (module (type $iii (func (param i32 i32) (result i32))) (export "adder" (func $adder)) - (func $adder (; 0 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $adder (; 0 ;) (; has Stack IR ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (i32.add (get_local $0) (get_local $1) diff --git a/test/binaryen.js/optimize-levels.js.txt b/test/binaryen.js/optimize-levels.js.txt index 78190fc0d..8cb0dfea5 100644 --- a/test/binaryen.js/optimize-levels.js.txt +++ b/test/binaryen.js/optimize-levels.js.txt @@ -36,7 +36,7 @@ shrinkLevel=1 (module (type $i (func (param i32) (result i32))) (export "test" (func $test)) - (func $test (; 0 ;) (type $i) (param $0 i32) (result i32) + (func $test (; 0 ;) (; has Stack IR ;) (type $i) (param $0 i32) (result i32) (select (get_local $0) (i32.const 0) @@ -66,7 +66,7 @@ shrinkLevel=1 (module (type $i (func (param i32) (result i32))) (export "test" (func $test)) - (func $test (; 0 ;) (type $i) (param $0 i32) (result i32) + (func $test (; 0 ;) (; has Stack IR ;) (type $i) (param $0 i32) (result i32) (select (get_local $0) (i32.const 0) diff --git a/test/binaryen.js/sieve.js b/test/binaryen.js/sieve.js index a7f0c993b..4c1e5eefc 100644 --- a/test/binaryen.js/sieve.js +++ b/test/binaryen.js/sieve.js @@ -19,16 +19,18 @@ var body = module.block( ), module.get_local(0, Binaryen.i32) ), - module.grow_memory( - module.i32.sub( - module.i32.div_u( - module.i32.add( - module.get_local(0, Binaryen.i32), - module.i32.const(65535) + module.drop( + module.grow_memory( + module.i32.sub( + module.i32.div_u( + module.i32.add( + module.get_local(0, Binaryen.i32), + module.i32.const(65535) + ), + module.i32.const(65536) ), - module.i32.const(65536) - ), - module.current_memory() + module.current_memory() + ) ) ) ), @@ -44,8 +46,8 @@ var body = module.block( module.i32.const(1) )), module.br_if('clear', module.i32.eq( - module.get_local(1), - module.get_local(0) + module.get_local(1, Binaryen.i32), + module.get_local(0, Binaryen.i32) )) ])), // perform the sieve TODO @@ -63,6 +65,8 @@ module.addFunction('sieve', ii, [Binaryen.i32], body); // export it as the same name as it has internally) module.addFunctionExport('sieve', 'sieve'); +if (!module.validate()) throw 'did not validate :('; + // Print out the text console.log(module.emitText()); diff --git a/test/binaryen.js/sieve.js.txt b/test/binaryen.js/sieve.js.txt index 2c4b906dd..97816e6b3 100644 --- a/test/binaryen.js/sieve.js.txt +++ b/test/binaryen.js/sieve.js.txt @@ -12,16 +12,18 @@ ) (get_local $0) ) - (grow_memory - (i32.sub - (i32.div_u - (i32.add - (get_local $0) - (i32.const 65535) + (drop + (grow_memory + (i32.sub + (i32.div_u + (i32.add + (get_local $0) + (i32.const 65535) + ) + (i32.const 65536) ) - (i32.const 65536) + (current_memory) ) - (current_memory) ) ) ) @@ -58,7 +60,7 @@ optimized: (type $i (func (param i32) (result i32))) (memory $0 1 100) (export "sieve" (func $sieve)) - (func $sieve (; 0 ;) (type $i) (param $0 i32) (result i32) + (func $sieve (; 0 ;) (; has Stack IR ;) (type $i) (param $0 i32) (result i32) (local $1 i32) (if (i32.lt_u @@ -68,16 +70,18 @@ optimized: ) (get_local $0) ) - (grow_memory - (i32.sub - (i32.div_u - (i32.add - (get_local $0) - (i32.const 65535) + (drop + (grow_memory + (i32.sub + (i32.div_u + (i32.add + (get_local $0) + (i32.const 65535) + ) + (i32.const 65536) ) - (i32.const 65536) + (current_memory) ) - (current_memory) ) ) ) diff --git a/test/debugInfo.fromasm b/test/debugInfo.fromasm index 0f104af84..5bedd5bdf 100644 --- a/test/debugInfo.fromasm +++ b/test/debugInfo.fromasm @@ -8,14 +8,14 @@ (export "fib" (func $fib)) (export "switch_reach" (func $switch_reach)) (export "nofile" (func $nofile)) - (func $add (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (func $add (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;;@ tests/other_file.cpp:314159:0 (i32.add (get_local $1) (get_local $1) ) ) - (func $ret (; 1 ;) (param $0 i32) (result i32) + (func $ret (; 1 ;) (; has Stack IR ;) (param $0 i32) (result i32) ;;@ return.cpp:50:0 (set_local $0 (i32.shl @@ -29,7 +29,7 @@ (i32.const 1) ) ) - (func $i32s-rem (; 2 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32s-rem (; 2 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (i32.rem_s @@ -39,7 +39,7 @@ (i32.const 0) ) ) - (func $opts (; 3 ;) (param $0 i32) (param $1 i32) (result i32) + (func $opts (; 3 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;;@ even-opted.cpp:1:0 (set_local $0 (i32.add @@ -63,7 +63,7 @@ (get_local $1) ) ) - (func $fib (; 4 ;) (param $0 i32) (result i32) + (func $fib (; 4 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -126,7 +126,7 @@ ;;@ fib.c:8:0 (get_local $1) ) - (func $switch_reach (; 5 ;) (param $0 i32) (result i32) + (func $switch_reach (; 5 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (block $__rjto$0 (result i32) @@ -180,7 +180,7 @@ ;;@ /tmp/emscripten_test_binaryen2_28hnAe/src.c:59950:0 (get_local $1) ) - (func $nofile (; 6 ;) + (func $nofile (; 6 ;) (; has Stack IR ;) ;;@ (unknown):1337:0 (call $nofile) ) diff --git a/test/debugInfo.fromasm.clamp b/test/debugInfo.fromasm.clamp index 0f104af84..5bedd5bdf 100644 --- a/test/debugInfo.fromasm.clamp +++ b/test/debugInfo.fromasm.clamp @@ -8,14 +8,14 @@ (export "fib" (func $fib)) (export "switch_reach" (func $switch_reach)) (export "nofile" (func $nofile)) - (func $add (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (func $add (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;;@ tests/other_file.cpp:314159:0 (i32.add (get_local $1) (get_local $1) ) ) - (func $ret (; 1 ;) (param $0 i32) (result i32) + (func $ret (; 1 ;) (; has Stack IR ;) (param $0 i32) (result i32) ;;@ return.cpp:50:0 (set_local $0 (i32.shl @@ -29,7 +29,7 @@ (i32.const 1) ) ) - (func $i32s-rem (; 2 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32s-rem (; 2 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (i32.rem_s @@ -39,7 +39,7 @@ (i32.const 0) ) ) - (func $opts (; 3 ;) (param $0 i32) (param $1 i32) (result i32) + (func $opts (; 3 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;;@ even-opted.cpp:1:0 (set_local $0 (i32.add @@ -63,7 +63,7 @@ (get_local $1) ) ) - (func $fib (; 4 ;) (param $0 i32) (result i32) + (func $fib (; 4 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -126,7 +126,7 @@ ;;@ fib.c:8:0 (get_local $1) ) - (func $switch_reach (; 5 ;) (param $0 i32) (result i32) + (func $switch_reach (; 5 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (block $__rjto$0 (result i32) @@ -180,7 +180,7 @@ ;;@ /tmp/emscripten_test_binaryen2_28hnAe/src.c:59950:0 (get_local $1) ) - (func $nofile (; 6 ;) + (func $nofile (; 6 ;) (; has Stack IR ;) ;;@ (unknown):1337:0 (call $nofile) ) diff --git a/test/debugInfo.fromasm.imprecise b/test/debugInfo.fromasm.imprecise index 9cad26249..a52606e16 100644 --- a/test/debugInfo.fromasm.imprecise +++ b/test/debugInfo.fromasm.imprecise @@ -5,14 +5,14 @@ (export "fib" (func $fib)) (export "switch_reach" (func $switch_reach)) (export "nofile" (func $nofile)) - (func $add (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (func $add (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;;@ tests/other_file.cpp:314159:0 (i32.add (get_local $1) (get_local $1) ) ) - (func $ret (; 1 ;) (param $0 i32) (result i32) + (func $ret (; 1 ;) (; has Stack IR ;) (param $0 i32) (result i32) ;;@ return.cpp:50:0 (set_local $0 (i32.shl @@ -26,7 +26,7 @@ (i32.const 1) ) ) - (func $opts (; 2 ;) (param $0 i32) (param $1 i32) (result i32) + (func $opts (; 2 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;;@ even-opted.cpp:1:0 (set_local $0 (i32.add @@ -50,7 +50,7 @@ (get_local $1) ) ) - (func $fib (; 3 ;) (param $0 i32) (result i32) + (func $fib (; 3 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -113,7 +113,7 @@ ;;@ fib.c:8:0 (get_local $1) ) - (func $switch_reach (; 4 ;) (param $0 i32) (result i32) + (func $switch_reach (; 4 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (block $__rjto$0 (result i32) @@ -167,7 +167,7 @@ ;;@ /tmp/emscripten_test_binaryen2_28hnAe/src.c:59950:0 (get_local $1) ) - (func $nofile (; 5 ;) + (func $nofile (; 5 ;) (; has Stack IR ;) ;;@ (unknown):1337:0 (call $nofile) ) diff --git a/test/dynamicLibrary.fromasm b/test/dynamicLibrary.fromasm index 295451b4c..edd7a60d0 100644 --- a/test/dynamicLibrary.fromasm +++ b/test/dynamicLibrary.fromasm @@ -13,7 +13,7 @@ (export "__post_instantiate" (func $__post_instantiate)) (export "runPostSets" (func $runPostSets)) (export "_global" (global $_global)) - (func $__ZN3FooC2Ev (; 2 ;) (param $0 i32) + (func $__ZN3FooC2Ev (; 2 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -42,10 +42,10 @@ (get_local $1) ) ) - (func $runPostSets (; 3 ;) + (func $runPostSets (; 3 ;) (; has Stack IR ;) (nop) ) - (func $__post_instantiate (; 4 ;) + (func $__post_instantiate (; 4 ;) (; has Stack IR ;) (set_global $STACKTOP (i32.add (get_global $memoryBase) diff --git a/test/dynamicLibrary.fromasm.clamp b/test/dynamicLibrary.fromasm.clamp index 295451b4c..edd7a60d0 100644 --- a/test/dynamicLibrary.fromasm.clamp +++ b/test/dynamicLibrary.fromasm.clamp @@ -13,7 +13,7 @@ (export "__post_instantiate" (func $__post_instantiate)) (export "runPostSets" (func $runPostSets)) (export "_global" (global $_global)) - (func $__ZN3FooC2Ev (; 2 ;) (param $0 i32) + (func $__ZN3FooC2Ev (; 2 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -42,10 +42,10 @@ (get_local $1) ) ) - (func $runPostSets (; 3 ;) + (func $runPostSets (; 3 ;) (; has Stack IR ;) (nop) ) - (func $__post_instantiate (; 4 ;) + (func $__post_instantiate (; 4 ;) (; has Stack IR ;) (set_global $STACKTOP (i32.add (get_global $memoryBase) diff --git a/test/dynamicLibrary.fromasm.imprecise b/test/dynamicLibrary.fromasm.imprecise index 58d9559ad..ce18a050f 100644 --- a/test/dynamicLibrary.fromasm.imprecise +++ b/test/dynamicLibrary.fromasm.imprecise @@ -11,7 +11,7 @@ (export "__post_instantiate" (func $__post_instantiate)) (export "runPostSets" (func $runPostSets)) (export "_global" (global $_global)) - (func $__ZN3FooC2Ev (; 2 ;) (param $0 i32) + (func $__ZN3FooC2Ev (; 2 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -40,10 +40,10 @@ (get_local $1) ) ) - (func $runPostSets (; 3 ;) + (func $runPostSets (; 3 ;) (; has Stack IR ;) (nop) ) - (func $__post_instantiate (; 4 ;) + (func $__post_instantiate (; 4 ;) (; has Stack IR ;) (set_global $STACKTOP (i32.add (get_global $memoryBase) diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index cd097028a..0566193d0 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -51,7 +51,7 @@ (export "dynCall_ii" (func $dynCall_ii)) (export "dynCall_iiii" (func $dynCall_iiii)) (export "dynCall_vi" (func $dynCall_vi)) - (func $_malloc (; 15 ;) (param $0 i32) (result i32) + (func $_malloc (; 15 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5830,7 +5830,7 @@ ) (i32.const 0) ) - (func $_free (; 16 ;) (param $0 i32) + (func $_free (; 16 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7651,7 +7651,7 @@ (i32.const -1) ) ) - (func $___stdio_write (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 17 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8025,7 +8025,7 @@ ) (get_local $15) ) - (func $___fwritex (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8237,7 +8237,7 @@ ) (get_local $4) ) - (func $_fflush (; 19 ;) (param $0 i32) (result i32) + (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $do-once @@ -8344,7 +8344,7 @@ ) (get_local $1) ) - (func $_strlen (; 20 ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8488,7 +8488,7 @@ (get_local $3) ) ) - (func $___overflow (; 21 ;) (param $0 i32) (param $1 i32) (result i32) + (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8642,7 +8642,7 @@ ) (get_local $4) ) - (func $___fflush_unlocked (; 22 ;) (param $0 i32) (result i32) + (func $___fflush_unlocked (; 22 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8765,7 +8765,7 @@ ) ) ) - (func $_memcpy (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memcpy (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -8912,10 +8912,10 @@ ) (get_local $3) ) - (func $runPostSets (; 24 ;) + (func $runPostSets (; 24 ;) (; has Stack IR ;) (nop) ) - (func $_memset (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memset (; 25 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9053,7 +9053,7 @@ (get_local $2) ) ) - (func $_puts (; 26 ;) (param $0 i32) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9145,7 +9145,7 @@ (i32.const 31) ) ) - (func $___stdio_seek (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9214,7 +9214,7 @@ ) (get_local $0) ) - (func $___towrite (; 28 ;) (param $0 i32) (result i32) + (func $___towrite (; 28 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $2 @@ -9292,7 +9292,7 @@ ) ) ) - (func $_fwrite (; 29 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (i32.mul @@ -9331,7 +9331,7 @@ ) (get_local $2) ) - (func $___stdout_write (; 30 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 30 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9400,7 +9400,7 @@ ) (get_local $3) ) - (func $___stdio_close (; 31 ;) (param $0 i32) (result i32) + (func $___stdio_close (; 31 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -9430,7 +9430,7 @@ ) (get_local $0) ) - (func $___syscall_ret (; 32 ;) (param $0 i32) (result i32) + (func $___syscall_ret (; 32 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -9449,7 +9449,7 @@ (get_local $0) ) ) - (func $dynCall_iiii (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $dynCall_iiii (; 33 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -9463,7 +9463,7 @@ ) ) ) - (func $stackAlloc (; 34 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -9485,7 +9485,7 @@ ) (get_local $1) ) - (func $___errno_location (; 35 ;) (result i32) + (func $___errno_location (; 35 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 8) @@ -9496,7 +9496,7 @@ (i32.const 60) ) ) - (func $setThrew (; 36 ;) (param $0 i32) (param $1 i32) + (func $setThrew (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $__THREW__) @@ -9511,7 +9511,7 @@ ) ) ) - (func $dynCall_ii (; 37 ;) (param $0 i32) (param $1 i32) (result i32) + (func $dynCall_ii (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -9520,14 +9520,14 @@ ) ) ) - (func $_cleanup_418 (; 38 ;) (param $0 i32) + (func $_cleanup_418 (; 38 ;) (; has Stack IR ;) (param $0 i32) (drop (i32.load offset=68 (get_local $0) ) ) ) - (func $establishStackSpace (; 39 ;) (param $0 i32) (param $1 i32) + (func $establishStackSpace (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $STACKTOP (get_local $0) ) @@ -9535,7 +9535,7 @@ (get_local $1) ) ) - (func $dynCall_vi (; 40 ;) (param $0 i32) (param $1 i32) + (func $dynCall_vi (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -9547,32 +9547,32 @@ ) ) ) - (func $b1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $b1 (; 41 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $abort (i32.const 1) ) (i32.const 0) ) - (func $stackRestore (; 42 ;) (param $0 i32) + (func $stackRestore (; 42 ;) (; has Stack IR ;) (param $0 i32) (set_global $STACKTOP (get_local $0) ) ) - (func $setTempRet0 (; 43 ;) (param $0 i32) + (func $setTempRet0 (; 43 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) - (func $b0 (; 44 ;) (param $0 i32) (result i32) + (func $b0 (; 44 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $abort (i32.const 0) ) (i32.const 0) ) - (func $getTempRet0 (; 45 ;) (result i32) + (func $getTempRet0 (; 45 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $_main (; 46 ;) (result i32) + (func $_main (; 46 ;) (; has Stack IR ;) (result i32) (drop (call $_puts (i32.const 672) @@ -9580,10 +9580,10 @@ ) (i32.const 0) ) - (func $stackSave (; 47 ;) (result i32) + (func $stackSave (; 47 ;) (; has Stack IR ;) (result i32) (get_global $STACKTOP) ) - (func $b2 (; 48 ;) (param $0 i32) + (func $b2 (; 48 ;) (; has Stack IR ;) (param $0 i32) (call $abort (i32.const 2) ) diff --git a/test/emcc_O2_hello_world.fromasm.clamp b/test/emcc_O2_hello_world.fromasm.clamp index cd097028a..0566193d0 100644 --- a/test/emcc_O2_hello_world.fromasm.clamp +++ b/test/emcc_O2_hello_world.fromasm.clamp @@ -51,7 +51,7 @@ (export "dynCall_ii" (func $dynCall_ii)) (export "dynCall_iiii" (func $dynCall_iiii)) (export "dynCall_vi" (func $dynCall_vi)) - (func $_malloc (; 15 ;) (param $0 i32) (result i32) + (func $_malloc (; 15 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5830,7 +5830,7 @@ ) (i32.const 0) ) - (func $_free (; 16 ;) (param $0 i32) + (func $_free (; 16 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7651,7 +7651,7 @@ (i32.const -1) ) ) - (func $___stdio_write (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 17 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8025,7 +8025,7 @@ ) (get_local $15) ) - (func $___fwritex (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8237,7 +8237,7 @@ ) (get_local $4) ) - (func $_fflush (; 19 ;) (param $0 i32) (result i32) + (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $do-once @@ -8344,7 +8344,7 @@ ) (get_local $1) ) - (func $_strlen (; 20 ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8488,7 +8488,7 @@ (get_local $3) ) ) - (func $___overflow (; 21 ;) (param $0 i32) (param $1 i32) (result i32) + (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8642,7 +8642,7 @@ ) (get_local $4) ) - (func $___fflush_unlocked (; 22 ;) (param $0 i32) (result i32) + (func $___fflush_unlocked (; 22 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8765,7 +8765,7 @@ ) ) ) - (func $_memcpy (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memcpy (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -8912,10 +8912,10 @@ ) (get_local $3) ) - (func $runPostSets (; 24 ;) + (func $runPostSets (; 24 ;) (; has Stack IR ;) (nop) ) - (func $_memset (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memset (; 25 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9053,7 +9053,7 @@ (get_local $2) ) ) - (func $_puts (; 26 ;) (param $0 i32) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9145,7 +9145,7 @@ (i32.const 31) ) ) - (func $___stdio_seek (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9214,7 +9214,7 @@ ) (get_local $0) ) - (func $___towrite (; 28 ;) (param $0 i32) (result i32) + (func $___towrite (; 28 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $2 @@ -9292,7 +9292,7 @@ ) ) ) - (func $_fwrite (; 29 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (i32.mul @@ -9331,7 +9331,7 @@ ) (get_local $2) ) - (func $___stdout_write (; 30 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 30 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9400,7 +9400,7 @@ ) (get_local $3) ) - (func $___stdio_close (; 31 ;) (param $0 i32) (result i32) + (func $___stdio_close (; 31 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -9430,7 +9430,7 @@ ) (get_local $0) ) - (func $___syscall_ret (; 32 ;) (param $0 i32) (result i32) + (func $___syscall_ret (; 32 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -9449,7 +9449,7 @@ (get_local $0) ) ) - (func $dynCall_iiii (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $dynCall_iiii (; 33 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -9463,7 +9463,7 @@ ) ) ) - (func $stackAlloc (; 34 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -9485,7 +9485,7 @@ ) (get_local $1) ) - (func $___errno_location (; 35 ;) (result i32) + (func $___errno_location (; 35 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 8) @@ -9496,7 +9496,7 @@ (i32.const 60) ) ) - (func $setThrew (; 36 ;) (param $0 i32) (param $1 i32) + (func $setThrew (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $__THREW__) @@ -9511,7 +9511,7 @@ ) ) ) - (func $dynCall_ii (; 37 ;) (param $0 i32) (param $1 i32) (result i32) + (func $dynCall_ii (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -9520,14 +9520,14 @@ ) ) ) - (func $_cleanup_418 (; 38 ;) (param $0 i32) + (func $_cleanup_418 (; 38 ;) (; has Stack IR ;) (param $0 i32) (drop (i32.load offset=68 (get_local $0) ) ) ) - (func $establishStackSpace (; 39 ;) (param $0 i32) (param $1 i32) + (func $establishStackSpace (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $STACKTOP (get_local $0) ) @@ -9535,7 +9535,7 @@ (get_local $1) ) ) - (func $dynCall_vi (; 40 ;) (param $0 i32) (param $1 i32) + (func $dynCall_vi (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -9547,32 +9547,32 @@ ) ) ) - (func $b1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $b1 (; 41 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $abort (i32.const 1) ) (i32.const 0) ) - (func $stackRestore (; 42 ;) (param $0 i32) + (func $stackRestore (; 42 ;) (; has Stack IR ;) (param $0 i32) (set_global $STACKTOP (get_local $0) ) ) - (func $setTempRet0 (; 43 ;) (param $0 i32) + (func $setTempRet0 (; 43 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) - (func $b0 (; 44 ;) (param $0 i32) (result i32) + (func $b0 (; 44 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $abort (i32.const 0) ) (i32.const 0) ) - (func $getTempRet0 (; 45 ;) (result i32) + (func $getTempRet0 (; 45 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $_main (; 46 ;) (result i32) + (func $_main (; 46 ;) (; has Stack IR ;) (result i32) (drop (call $_puts (i32.const 672) @@ -9580,10 +9580,10 @@ ) (i32.const 0) ) - (func $stackSave (; 47 ;) (result i32) + (func $stackSave (; 47 ;) (; has Stack IR ;) (result i32) (get_global $STACKTOP) ) - (func $b2 (; 48 ;) (param $0 i32) + (func $b2 (; 48 ;) (; has Stack IR ;) (param $0 i32) (call $abort (i32.const 2) ) diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise index 1e7e99197..d34cf8655 100644 --- a/test/emcc_O2_hello_world.fromasm.imprecise +++ b/test/emcc_O2_hello_world.fromasm.imprecise @@ -50,7 +50,7 @@ (export "dynCall_ii" (func $dynCall_ii)) (export "dynCall_iiii" (func $dynCall_iiii)) (export "dynCall_vi" (func $dynCall_vi)) - (func $_malloc (; 15 ;) (param $0 i32) (result i32) + (func $_malloc (; 15 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5829,7 +5829,7 @@ ) (i32.const 0) ) - (func $_free (; 16 ;) (param $0 i32) + (func $_free (; 16 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7650,7 +7650,7 @@ (i32.const -1) ) ) - (func $___stdio_write (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 17 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8024,7 +8024,7 @@ ) (get_local $15) ) - (func $___fwritex (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8236,7 +8236,7 @@ ) (get_local $4) ) - (func $_fflush (; 19 ;) (param $0 i32) (result i32) + (func $_fflush (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $do-once @@ -8338,7 +8338,7 @@ ) (get_local $1) ) - (func $_strlen (; 20 ;) (param $0 i32) (result i32) + (func $_strlen (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8482,7 +8482,7 @@ (get_local $3) ) ) - (func $___overflow (; 21 ;) (param $0 i32) (param $1 i32) (result i32) + (func $___overflow (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8636,7 +8636,7 @@ ) (get_local $4) ) - (func $___fflush_unlocked (; 22 ;) (param $0 i32) (result i32) + (func $___fflush_unlocked (; 22 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8759,7 +8759,7 @@ ) ) ) - (func $_memcpy (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memcpy (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -8906,10 +8906,10 @@ ) (get_local $3) ) - (func $runPostSets (; 24 ;) + (func $runPostSets (; 24 ;) (; has Stack IR ;) (nop) ) - (func $_memset (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memset (; 25 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9047,7 +9047,7 @@ (get_local $2) ) ) - (func $_puts (; 26 ;) (param $0 i32) (result i32) + (func $_puts (; 26 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9139,7 +9139,7 @@ (i32.const 31) ) ) - (func $___stdio_seek (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_seek (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9208,7 +9208,7 @@ ) (get_local $0) ) - (func $___towrite (; 28 ;) (param $0 i32) (result i32) + (func $___towrite (; 28 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $2 @@ -9286,7 +9286,7 @@ ) ) ) - (func $_fwrite (; 29 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_fwrite (; 29 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (i32.mul @@ -9314,7 +9314,7 @@ ) (get_local $2) ) - (func $___stdout_write (; 30 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 30 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9383,7 +9383,7 @@ ) (get_local $3) ) - (func $___stdio_close (; 31 ;) (param $0 i32) (result i32) + (func $___stdio_close (; 31 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -9413,7 +9413,7 @@ ) (get_local $0) ) - (func $___syscall_ret (; 32 ;) (param $0 i32) (result i32) + (func $___syscall_ret (; 32 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -9432,7 +9432,7 @@ (get_local $0) ) ) - (func $dynCall_iiii (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $dynCall_iiii (; 33 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -9446,7 +9446,7 @@ ) ) ) - (func $stackAlloc (; 34 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -9468,7 +9468,7 @@ ) (get_local $1) ) - (func $___errno_location (; 35 ;) (result i32) + (func $___errno_location (; 35 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 8) @@ -9479,7 +9479,7 @@ (i32.const 60) ) ) - (func $setThrew (; 36 ;) (param $0 i32) (param $1 i32) + (func $setThrew (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $__THREW__) @@ -9494,7 +9494,7 @@ ) ) ) - (func $dynCall_ii (; 37 ;) (param $0 i32) (param $1 i32) (result i32) + (func $dynCall_ii (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -9503,10 +9503,10 @@ ) ) ) - (func $_cleanup_418 (; 38 ;) (param $0 i32) + (func $_cleanup_418 (; 38 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $establishStackSpace (; 39 ;) (param $0 i32) (param $1 i32) + (func $establishStackSpace (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $STACKTOP (get_local $0) ) @@ -9514,7 +9514,7 @@ (get_local $1) ) ) - (func $dynCall_vi (; 40 ;) (param $0 i32) (param $1 i32) + (func $dynCall_vi (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -9526,32 +9526,32 @@ ) ) ) - (func $b1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $b1 (; 41 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $abort (i32.const 1) ) (i32.const 0) ) - (func $stackRestore (; 42 ;) (param $0 i32) + (func $stackRestore (; 42 ;) (; has Stack IR ;) (param $0 i32) (set_global $STACKTOP (get_local $0) ) ) - (func $setTempRet0 (; 43 ;) (param $0 i32) + (func $setTempRet0 (; 43 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) - (func $b0 (; 44 ;) (param $0 i32) (result i32) + (func $b0 (; 44 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $abort (i32.const 0) ) (i32.const 0) ) - (func $getTempRet0 (; 45 ;) (result i32) + (func $getTempRet0 (; 45 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $_main (; 46 ;) (result i32) + (func $_main (; 46 ;) (; has Stack IR ;) (result i32) (drop (call $_puts (i32.const 672) @@ -9559,10 +9559,10 @@ ) (i32.const 0) ) - (func $stackSave (; 47 ;) (result i32) + (func $stackSave (; 47 ;) (; has Stack IR ;) (result i32) (get_global $STACKTOP) ) - (func $b2 (; 48 ;) (param $0 i32) + (func $b2 (; 48 ;) (; has Stack IR ;) (param $0 i32) (call $abort (i32.const 2) ) diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index 5f9343488..6811213dc 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -63,7 +63,7 @@ (export "dynCall_iiii" (func $dynCall_iiii)) (export "dynCall_vi" (func $dynCall_vi)) (export "___udivmoddi4" (func $___udivmoddi4)) - (func $stackAlloc (; 19 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 19 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -92,15 +92,15 @@ ) (get_local $1) ) - (func $stackSave (; 20 ;) (result i32) + (func $stackSave (; 20 ;) (; has Stack IR ;) (result i32) (get_global $STACKTOP) ) - (func $stackRestore (; 21 ;) (param $0 i32) + (func $stackRestore (; 21 ;) (; has Stack IR ;) (param $0 i32) (set_global $STACKTOP (get_local $0) ) ) - (func $establishStackSpace (; 22 ;) (param $0 i32) (param $1 i32) + (func $establishStackSpace (; 22 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $STACKTOP (get_local $0) ) @@ -108,7 +108,7 @@ (get_local $1) ) ) - (func $setThrew (; 23 ;) (param $0 i32) (param $1 i32) + (func $setThrew (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $__THREW__) @@ -123,15 +123,15 @@ ) ) ) - (func $setTempRet0 (; 24 ;) (param $0 i32) + (func $setTempRet0 (; 24 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) - (func $getTempRet0 (; 25 ;) (result i32) + (func $getTempRet0 (; 25 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $_main (; 26 ;) (result i32) + (func $_main (; 26 ;) (; has Stack IR ;) (result i32) (local $0 i32) (set_local $0 (get_global $STACKTOP) @@ -160,7 +160,7 @@ ) (i32.const 0) ) - (func $_frexp (; 27 ;) (param $0 f64) (param $1 i32) (result f64) + (func $_frexp (; 27 ;) (; has Stack IR ;) (param $0 f64) (param $1 i32) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -265,7 +265,7 @@ ) (get_local $0) ) - (func $_strerror (; 28 ;) (param $0 i32) (result i32) + (func $_strerror (; 28 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $__rjto$1 @@ -343,7 +343,7 @@ ) (get_local $0) ) - (func $___errno_location (; 29 ;) (result i32) + (func $___errno_location (; 29 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 16) @@ -354,7 +354,7 @@ (i32.const 60) ) ) - (func $___stdio_close (; 30 ;) (param $0 i32) (result i32) + (func $___stdio_close (; 30 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -391,7 +391,7 @@ ) (get_local $0) ) - (func $___stdout_write (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 31 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -471,7 +471,7 @@ ) (get_local $0) ) - (func $___stdio_seek (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_seek (; 32 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -547,7 +547,7 @@ ) (get_local $0) ) - (func $_fflush (; 33 ;) (param $0 i32) (result i32) + (func $_fflush (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $do-once @@ -642,7 +642,7 @@ ) (get_local $0) ) - (func $_printf (; 34 ;) (param $0 i32) (param $1 i32) (result i32) + (func $_printf (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (set_local $2 (get_global $STACKTOP) @@ -678,7 +678,7 @@ ) (get_local $0) ) - (func $___stdio_write (; 35 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1023,7 +1023,7 @@ ) (get_local $2) ) - (func $_vfprintf (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_vfprintf (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1300,7 +1300,7 @@ ) (get_local $0) ) - (func $___fwritex (; 37 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 37 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1486,7 +1486,7 @@ ) (get_local $3) ) - (func $___towrite (; 38 ;) (param $0 i32) (result i32) + (func $___towrite (; 38 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $1 @@ -1564,7 +1564,7 @@ ) ) ) - (func $_wcrtomb (; 39 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_wcrtomb (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (block $do-once (result i32) (if (result i32) (get_local $0) @@ -1738,7 +1738,7 @@ ) ) ) - (func $_wctomb (; 40 ;) (param $0 i32) (param $1 i32) (result i32) + (func $_wctomb (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $0) (call $_wcrtomb @@ -1749,7 +1749,7 @@ (i32.const 0) ) ) - (func $_memchr (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memchr (; 41 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1980,7 +1980,7 @@ (get_local $0) ) ) - (func $___syscall_ret (; 42 ;) (param $0 i32) (result i32) + (func $___syscall_ret (; 42 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -1999,7 +1999,7 @@ (get_local $0) ) ) - (func $___fflush_unlocked (; 43 ;) (param $0 i32) (result i32) + (func $___fflush_unlocked (; 43 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2121,14 +2121,14 @@ ) ) ) - (func $_cleanup (; 44 ;) (param $0 i32) + (func $_cleanup (; 44 ;) (; has Stack IR ;) (param $0 i32) (drop (i32.load offset=68 (get_local $0) ) ) ) - (func $i32s-div (; 45 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32s-div (; 45 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (if (result i32) @@ -2151,7 +2151,7 @@ (i32.const 0) ) ) - (func $i32u-rem (; 46 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32u-rem (; 46 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (i32.rem_u @@ -2161,7 +2161,7 @@ (i32.const 0) ) ) - (func $i32u-div (; 47 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32u-div (; 47 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (i32.div_u @@ -2171,7 +2171,7 @@ (i32.const 0) ) ) - (func $_printf_core (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_printf_core (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -6991,7 +6991,7 @@ ) (get_local $17) ) - (func $_pop_arg_336 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $_pop_arg_336 (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -7391,7 +7391,7 @@ ) ) ) - (func $_fmt_u (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_fmt_u (; 50 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (if @@ -7513,7 +7513,7 @@ ) (get_local $2) ) - (func $_pad (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $_pad (; 51 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -7661,7 +7661,7 @@ (get_local $7) ) ) - (func $_malloc (; 52 ;) (param $0 i32) (result i32) + (func $_malloc (; 52 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13094,7 +13094,7 @@ (i32.const 8) ) ) - (func $_free (; 53 ;) (param $0 i32) + (func $_free (; 53 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14877,10 +14877,10 @@ (i32.const -1) ) ) - (func $runPostSets (; 54 ;) + (func $runPostSets (; 54 ;) (; has Stack IR ;) (nop) ) - (func $_i64Subtract (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_i64Subtract (; 55 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (set_global $tempRet0 (i32.sub (i32.sub @@ -14898,7 +14898,7 @@ (get_local $2) ) ) - (func $_i64Add (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_i64Add (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_global $tempRet0 (i32.add @@ -14919,7 +14919,7 @@ ) (get_local $4) ) - (func $_memset (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memset (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15057,7 +15057,7 @@ (get_local $2) ) ) - (func $_bitshift64Lshr (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_bitshift64Lshr (; 58 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (if (i32.lt_s (get_local $2) @@ -15107,7 +15107,7 @@ ) ) ) - (func $_bitshift64Shl (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_bitshift64Shl (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (if (i32.lt_s (get_local $2) @@ -15163,7 +15163,7 @@ ) (i32.const 0) ) - (func $_memcpy (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memcpy (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -15310,7 +15310,7 @@ ) (get_local $3) ) - (func $___udivdi3 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $___udivdi3 (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call $___udivmoddi4 (get_local $0) (get_local $1) @@ -15319,7 +15319,7 @@ (i32.const 0) ) ) - (func $___uremdi3 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $___uremdi3 (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (get_global $STACKTOP) @@ -15351,7 +15351,7 @@ (get_local $4) ) ) - (func $___udivmoddi4 (; 63 ;) (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) + (func $___udivmoddi4 (; 63 ;) (; has Stack IR ;) (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) (local $x64 i64) (local $y64 i64) (set_local $x64 @@ -15408,7 +15408,7 @@ (get_local $x64) ) ) - (func $dynCall_ii (; 64 ;) (param $0 i32) (param $1 i32) (result i32) + (func $dynCall_ii (; 64 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -15417,7 +15417,7 @@ ) ) ) - (func $dynCall_iiii (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $dynCall_iiii (; 65 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -15431,7 +15431,7 @@ ) ) ) - (func $dynCall_vi (; 66 ;) (param $0 i32) (param $1 i32) + (func $dynCall_vi (; 66 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -15443,19 +15443,19 @@ ) ) ) - (func $b0 (; 67 ;) (param $0 i32) (result i32) + (func $b0 (; 67 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $nullFunc_ii (i32.const 0) ) (i32.const 0) ) - (func $b1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $b1 (; 68 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $nullFunc_iiii (i32.const 1) ) (i32.const 0) ) - (func $b2 (; 69 ;) (param $0 i32) + (func $b2 (; 69 ;) (; has Stack IR ;) (param $0 i32) (call $nullFunc_vi (i32.const 2) ) diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp index 9ce70c0b5..ea687d264 100644 --- a/test/emcc_hello_world.fromasm.clamp +++ b/test/emcc_hello_world.fromasm.clamp @@ -61,7 +61,7 @@ (export "dynCall_iiii" (func $dynCall_iiii)) (export "dynCall_vi" (func $dynCall_vi)) (export "___udivmoddi4" (func $___udivmoddi4)) - (func $stackAlloc (; 18 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -90,15 +90,15 @@ ) (get_local $1) ) - (func $stackSave (; 19 ;) (result i32) + (func $stackSave (; 19 ;) (; has Stack IR ;) (result i32) (get_global $STACKTOP) ) - (func $stackRestore (; 20 ;) (param $0 i32) + (func $stackRestore (; 20 ;) (; has Stack IR ;) (param $0 i32) (set_global $STACKTOP (get_local $0) ) ) - (func $establishStackSpace (; 21 ;) (param $0 i32) (param $1 i32) + (func $establishStackSpace (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $STACKTOP (get_local $0) ) @@ -106,7 +106,7 @@ (get_local $1) ) ) - (func $setThrew (; 22 ;) (param $0 i32) (param $1 i32) + (func $setThrew (; 22 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $__THREW__) @@ -121,15 +121,15 @@ ) ) ) - (func $setTempRet0 (; 23 ;) (param $0 i32) + (func $setTempRet0 (; 23 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) - (func $getTempRet0 (; 24 ;) (result i32) + (func $getTempRet0 (; 24 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $_main (; 25 ;) (result i32) + (func $_main (; 25 ;) (; has Stack IR ;) (result i32) (local $0 i32) (set_local $0 (get_global $STACKTOP) @@ -158,7 +158,7 @@ ) (i32.const 0) ) - (func $_frexp (; 26 ;) (param $0 f64) (param $1 i32) (result f64) + (func $_frexp (; 26 ;) (; has Stack IR ;) (param $0 f64) (param $1 i32) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -263,7 +263,7 @@ ) (get_local $0) ) - (func $_strerror (; 27 ;) (param $0 i32) (result i32) + (func $_strerror (; 27 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $__rjto$1 @@ -341,7 +341,7 @@ ) (get_local $0) ) - (func $___errno_location (; 28 ;) (result i32) + (func $___errno_location (; 28 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 16) @@ -352,7 +352,7 @@ (i32.const 60) ) ) - (func $___stdio_close (; 29 ;) (param $0 i32) (result i32) + (func $___stdio_close (; 29 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -389,7 +389,7 @@ ) (get_local $0) ) - (func $___stdout_write (; 30 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 30 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -469,7 +469,7 @@ ) (get_local $0) ) - (func $___stdio_seek (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_seek (; 31 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -545,7 +545,7 @@ ) (get_local $0) ) - (func $_fflush (; 32 ;) (param $0 i32) (result i32) + (func $_fflush (; 32 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $do-once @@ -640,7 +640,7 @@ ) (get_local $0) ) - (func $_printf (; 33 ;) (param $0 i32) (param $1 i32) (result i32) + (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (set_local $2 (get_global $STACKTOP) @@ -676,7 +676,7 @@ ) (get_local $0) ) - (func $___stdio_write (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1021,7 +1021,7 @@ ) (get_local $2) ) - (func $_vfprintf (; 35 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1298,7 +1298,7 @@ ) (get_local $0) ) - (func $___fwritex (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1484,7 +1484,7 @@ ) (get_local $3) ) - (func $___towrite (; 37 ;) (param $0 i32) (result i32) + (func $___towrite (; 37 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $1 @@ -1562,7 +1562,7 @@ ) ) ) - (func $_wcrtomb (; 38 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_wcrtomb (; 38 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (block $do-once (result i32) (if (result i32) (get_local $0) @@ -1736,7 +1736,7 @@ ) ) ) - (func $_wctomb (; 39 ;) (param $0 i32) (param $1 i32) (result i32) + (func $_wctomb (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $0) (call $_wcrtomb @@ -1747,7 +1747,7 @@ (i32.const 0) ) ) - (func $_memchr (; 40 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memchr (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1978,7 +1978,7 @@ (get_local $0) ) ) - (func $___syscall_ret (; 41 ;) (param $0 i32) (result i32) + (func $___syscall_ret (; 41 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -1997,7 +1997,7 @@ (get_local $0) ) ) - (func $___fflush_unlocked (; 42 ;) (param $0 i32) (result i32) + (func $___fflush_unlocked (; 42 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2119,14 +2119,14 @@ ) ) ) - (func $_cleanup (; 43 ;) (param $0 i32) + (func $_cleanup (; 43 ;) (; has Stack IR ;) (param $0 i32) (drop (i32.load offset=68 (get_local $0) ) ) ) - (func $f64-to-int (; 44 ;) (param $0 f64) (result i32) + (func $f64-to-int (; 44 ;) (; has Stack IR ;) (param $0 f64) (result i32) (if (result i32) (f64.ne (get_local $0) @@ -2152,7 +2152,7 @@ ) ) ) - (func $f64-to-uint (; 45 ;) (param $0 f64) (result i32) + (func $f64-to-uint (; 45 ;) (; has Stack IR ;) (param $0 f64) (result i32) (if (result i32) (f64.ne (get_local $0) @@ -2178,7 +2178,7 @@ ) ) ) - (func $i32s-div (; 46 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32s-div (; 46 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (if (result i32) @@ -2201,7 +2201,7 @@ (i32.const 0) ) ) - (func $i32u-rem (; 47 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32u-rem (; 47 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (i32.rem_u @@ -2211,7 +2211,7 @@ (i32.const 0) ) ) - (func $i32u-div (; 48 ;) (param $0 i32) (param $1 i32) (result i32) + (func $i32u-div (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $1) (i32.div_u @@ -2221,7 +2221,7 @@ (i32.const 0) ) ) - (func $_printf_core (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_printf_core (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -7041,7 +7041,7 @@ ) (get_local $17) ) - (func $_pop_arg_336 (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $_pop_arg_336 (; 50 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -7441,7 +7441,7 @@ ) ) ) - (func $_fmt_u (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_fmt_u (; 51 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (if @@ -7563,7 +7563,7 @@ ) (get_local $2) ) - (func $_pad (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $_pad (; 52 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -7711,7 +7711,7 @@ (get_local $7) ) ) - (func $_malloc (; 53 ;) (param $0 i32) (result i32) + (func $_malloc (; 53 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13144,7 +13144,7 @@ (i32.const 8) ) ) - (func $_free (; 54 ;) (param $0 i32) + (func $_free (; 54 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14927,10 +14927,10 @@ (i32.const -1) ) ) - (func $runPostSets (; 55 ;) + (func $runPostSets (; 55 ;) (; has Stack IR ;) (nop) ) - (func $_i64Subtract (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_i64Subtract (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (set_global $tempRet0 (i32.sub (i32.sub @@ -14948,7 +14948,7 @@ (get_local $2) ) ) - (func $_i64Add (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_i64Add (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_global $tempRet0 (i32.add @@ -14969,7 +14969,7 @@ ) (get_local $4) ) - (func $_memset (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memset (; 58 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15107,7 +15107,7 @@ (get_local $2) ) ) - (func $_bitshift64Lshr (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_bitshift64Lshr (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (if (i32.lt_s (get_local $2) @@ -15157,7 +15157,7 @@ ) ) ) - (func $_bitshift64Shl (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_bitshift64Shl (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (if (i32.lt_s (get_local $2) @@ -15213,7 +15213,7 @@ ) (i32.const 0) ) - (func $_memcpy (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memcpy (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -15360,7 +15360,7 @@ ) (get_local $3) ) - (func $___udivdi3 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $___udivdi3 (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call $___udivmoddi4 (get_local $0) (get_local $1) @@ -15369,7 +15369,7 @@ (i32.const 0) ) ) - (func $___uremdi3 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $___uremdi3 (; 63 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (get_global $STACKTOP) @@ -15401,7 +15401,7 @@ (get_local $4) ) ) - (func $___udivmoddi4 (; 64 ;) (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) + (func $___udivmoddi4 (; 64 ;) (; has Stack IR ;) (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) (local $x64 i64) (local $y64 i64) (set_local $x64 @@ -15458,7 +15458,7 @@ (get_local $x64) ) ) - (func $dynCall_ii (; 65 ;) (param $0 i32) (param $1 i32) (result i32) + (func $dynCall_ii (; 65 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -15467,7 +15467,7 @@ ) ) ) - (func $dynCall_iiii (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $dynCall_iiii (; 66 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -15481,7 +15481,7 @@ ) ) ) - (func $dynCall_vi (; 67 ;) (param $0 i32) (param $1 i32) + (func $dynCall_vi (; 67 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -15493,19 +15493,19 @@ ) ) ) - (func $b0 (; 68 ;) (param $0 i32) (result i32) + (func $b0 (; 68 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $nullFunc_ii (i32.const 0) ) (i32.const 0) ) - (func $b1 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $b1 (; 69 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $nullFunc_iiii (i32.const 1) ) (i32.const 0) ) - (func $b2 (; 70 ;) (param $0 i32) + (func $b2 (; 70 ;) (; has Stack IR ;) (param $0 i32) (call $nullFunc_vi (i32.const 2) ) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index f76c07317..25ca0c3da 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -60,7 +60,7 @@ (export "dynCall_iiii" (func $dynCall_iiii)) (export "dynCall_vi" (func $dynCall_vi)) (export "___udivmoddi4" (func $___udivmoddi4)) - (func $stackAlloc (; 18 ;) (param $0 i32) (result i32) + (func $stackAlloc (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -89,15 +89,15 @@ ) (get_local $1) ) - (func $stackSave (; 19 ;) (result i32) + (func $stackSave (; 19 ;) (; has Stack IR ;) (result i32) (get_global $STACKTOP) ) - (func $stackRestore (; 20 ;) (param $0 i32) + (func $stackRestore (; 20 ;) (; has Stack IR ;) (param $0 i32) (set_global $STACKTOP (get_local $0) ) ) - (func $establishStackSpace (; 21 ;) (param $0 i32) (param $1 i32) + (func $establishStackSpace (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $STACKTOP (get_local $0) ) @@ -105,7 +105,7 @@ (get_local $1) ) ) - (func $setThrew (; 22 ;) (param $0 i32) (param $1 i32) + (func $setThrew (; 22 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $__THREW__) @@ -120,15 +120,15 @@ ) ) ) - (func $setTempRet0 (; 23 ;) (param $0 i32) + (func $setTempRet0 (; 23 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) ) - (func $getTempRet0 (; 24 ;) (result i32) + (func $getTempRet0 (; 24 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $_main (; 25 ;) (result i32) + (func $_main (; 25 ;) (; has Stack IR ;) (result i32) (local $0 i32) (set_local $0 (get_global $STACKTOP) @@ -157,7 +157,7 @@ ) (i32.const 0) ) - (func $_frexp (; 26 ;) (param $0 f64) (param $1 i32) (result f64) + (func $_frexp (; 26 ;) (; has Stack IR ;) (param $0 f64) (param $1 i32) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -262,7 +262,7 @@ ) (get_local $0) ) - (func $_strerror (; 27 ;) (param $0 i32) (result i32) + (func $_strerror (; 27 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $__rjto$1 @@ -340,7 +340,7 @@ ) (get_local $0) ) - (func $___errno_location (; 28 ;) (result i32) + (func $___errno_location (; 28 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 16) @@ -351,7 +351,7 @@ (i32.const 60) ) ) - (func $___stdio_close (; 29 ;) (param $0 i32) (result i32) + (func $___stdio_close (; 29 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $STACKTOP) @@ -388,7 +388,7 @@ ) (get_local $0) ) - (func $___stdout_write (; 30 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 30 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -468,7 +468,7 @@ ) (get_local $0) ) - (func $___stdio_seek (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_seek (; 31 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -544,7 +544,7 @@ ) (get_local $0) ) - (func $_fflush (; 32 ;) (param $0 i32) (result i32) + (func $_fflush (; 32 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (block $do-once @@ -634,7 +634,7 @@ ) (get_local $0) ) - (func $_printf (; 33 ;) (param $0 i32) (param $1 i32) (result i32) + (func $_printf (; 33 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (set_local $2 (get_global $STACKTOP) @@ -670,7 +670,7 @@ ) (get_local $0) ) - (func $___stdio_write (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1015,7 +1015,7 @@ ) (get_local $2) ) - (func $_vfprintf (; 35 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_vfprintf (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1287,7 +1287,7 @@ ) (get_local $0) ) - (func $___fwritex (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___fwritex (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1473,7 +1473,7 @@ ) (get_local $3) ) - (func $___towrite (; 37 ;) (param $0 i32) (result i32) + (func $___towrite (; 37 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $1 @@ -1551,7 +1551,7 @@ ) ) ) - (func $_wcrtomb (; 38 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_wcrtomb (; 38 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (block $do-once (result i32) (if (result i32) (get_local $0) @@ -1725,7 +1725,7 @@ ) ) ) - (func $_wctomb (; 39 ;) (param $0 i32) (param $1 i32) (result i32) + (func $_wctomb (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (result i32) (get_local $0) (call $_wcrtomb @@ -1736,7 +1736,7 @@ (i32.const 0) ) ) - (func $_memchr (; 40 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memchr (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1967,7 +1967,7 @@ (get_local $0) ) ) - (func $___syscall_ret (; 41 ;) (param $0 i32) (result i32) + (func $___syscall_ret (; 41 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -1986,7 +1986,7 @@ (get_local $0) ) ) - (func $___fflush_unlocked (; 42 ;) (param $0 i32) (result i32) + (func $___fflush_unlocked (; 42 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2108,10 +2108,10 @@ ) ) ) - (func $_cleanup (; 43 ;) (param $0 i32) + (func $_cleanup (; 43 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $_printf_core (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_printf_core (; 44 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -6906,7 +6906,7 @@ ) (get_local $17) ) - (func $_pop_arg_336 (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $_pop_arg_336 (; 45 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -7306,7 +7306,7 @@ ) ) ) - (func $_fmt_u (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_fmt_u (; 46 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (if @@ -7428,7 +7428,7 @@ ) (get_local $2) ) - (func $_pad (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $_pad (; 47 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -7576,7 +7576,7 @@ (get_local $7) ) ) - (func $_malloc (; 48 ;) (param $0 i32) (result i32) + (func $_malloc (; 48 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13009,7 +13009,7 @@ (i32.const 8) ) ) - (func $_free (; 49 ;) (param $0 i32) + (func $_free (; 49 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14791,10 +14791,10 @@ (i32.const -1) ) ) - (func $runPostSets (; 50 ;) + (func $runPostSets (; 50 ;) (; has Stack IR ;) (nop) ) - (func $_i64Subtract (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_i64Subtract (; 51 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (set_global $tempRet0 (i32.sub (i32.sub @@ -14812,7 +14812,7 @@ (get_local $2) ) ) - (func $_i64Add (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $_i64Add (; 52 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_global $tempRet0 (i32.add @@ -14833,7 +14833,7 @@ ) (get_local $4) ) - (func $_memset (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memset (; 53 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14971,7 +14971,7 @@ (get_local $2) ) ) - (func $_bitshift64Lshr (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_bitshift64Lshr (; 54 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (if (i32.lt_s (get_local $2) @@ -15021,7 +15021,7 @@ ) ) ) - (func $_bitshift64Shl (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_bitshift64Shl (; 55 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (if (i32.lt_s (get_local $2) @@ -15077,7 +15077,7 @@ ) (i32.const 0) ) - (func $_memcpy (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memcpy (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -15224,7 +15224,7 @@ ) (get_local $3) ) - (func $___udivdi3 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $___udivdi3 (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call $___udivmoddi4 (get_local $0) (get_local $1) @@ -15233,7 +15233,7 @@ (i32.const 0) ) ) - (func $___uremdi3 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $___uremdi3 (; 58 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (get_global $STACKTOP) @@ -15265,7 +15265,7 @@ (get_local $4) ) ) - (func $___udivmoddi4 (; 59 ;) (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) + (func $___udivmoddi4 (; 59 ;) (; has Stack IR ;) (param $xl i32) (param $xh i32) (param $yl i32) (param $yh i32) (param $r i32) (result i32) (local $x64 i64) (local $y64 i64) (set_local $x64 @@ -15322,7 +15322,7 @@ (get_local $x64) ) ) - (func $dynCall_ii (; 60 ;) (param $0 i32) (param $1 i32) (result i32) + (func $dynCall_ii (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -15331,7 +15331,7 @@ ) ) ) - (func $dynCall_iiii (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $dynCall_iiii (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -15345,7 +15345,7 @@ ) ) ) - (func $dynCall_vi (; 62 ;) (param $0 i32) (param $1 i32) + (func $dynCall_vi (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -15357,19 +15357,19 @@ ) ) ) - (func $b0 (; 63 ;) (param $0 i32) (result i32) + (func $b0 (; 63 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $nullFunc_ii (i32.const 0) ) (i32.const 0) ) - (func $b1 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $b1 (; 64 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $nullFunc_iiii (i32.const 1) ) (i32.const 0) ) - (func $b2 (; 65 ;) (param $0 i32) + (func $b2 (; 65 ;) (; has Stack IR ;) (param $0 i32) (call $nullFunc_vi (i32.const 2) ) diff --git a/test/example/relooper-fuzz.txt b/test/example/relooper-fuzz.txt index aeee64325..bde48af8c 100644 --- a/test/example/relooper-fuzz.txt +++ b/test/example/relooper-fuzz.txt @@ -299,7 +299,7 @@ (memory $0 1 1) (export "mem" (memory $0)) (start $main) - (func $check (; 1 ;) (type $i) (result i32) + (func $check (; 1 ;) (; has Stack IR ;) (type $i) (result i32) (if (i32.eq (i32.load @@ -334,7 +334,7 @@ ) ) ) - (func $main (; 2 ;) (type $v) + (func $main (; 2 ;) (; has Stack IR ;) (type $v) (local $0 i32) (local $1 i32) (i32.store diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt index 5da2f5ff3..af3140f9c 100644 --- a/test/example/relooper-fuzz1.txt +++ b/test/example/relooper-fuzz1.txt @@ -275,7 +275,7 @@ (memory $0 1 1) (export "mem" (memory $0)) (start $main) - (func $check (; 1 ;) (type $i) (result i32) + (func $check (; 1 ;) (; has Stack IR ;) (type $i) (result i32) (if (i32.eq (i32.load @@ -310,7 +310,7 @@ ) ) ) - (func $main (; 2 ;) (type $v) + (func $main (; 2 ;) (; has Stack IR ;) (type $v) (local $0 i32) (i32.store (i32.const 8) diff --git a/test/hello_world.fromasm b/test/hello_world.fromasm index a98f6895d..16f132114 100644 --- a/test/hello_world.fromasm +++ b/test/hello_world.fromasm @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "hello_world.asm.js") (export "add" (func $add)) - (func $add (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (func $add (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (i32.add (get_local $0) (get_local $1) diff --git a/test/hello_world.fromasm.clamp b/test/hello_world.fromasm.clamp index a98f6895d..16f132114 100644 --- a/test/hello_world.fromasm.clamp +++ b/test/hello_world.fromasm.clamp @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "hello_world.asm.js") (export "add" (func $add)) - (func $add (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (func $add (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (i32.add (get_local $0) (get_local $1) diff --git a/test/hello_world.fromasm.imprecise b/test/hello_world.fromasm.imprecise index 3655a5039..1732728a5 100644 --- a/test/hello_world.fromasm.imprecise +++ b/test/hello_world.fromasm.imprecise @@ -1,6 +1,6 @@ (module (export "add" (func $add)) - (func $add (; 0 ;) (param $0 i32) (param $1 i32) (result i32) + (func $add (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (i32.add (get_local $0) (get_local $1) diff --git a/test/i64-setTempRet0.fromasm b/test/i64-setTempRet0.fromasm index ecb43a49c..bb834c144 100644 --- a/test/i64-setTempRet0.fromasm +++ b/test/i64-setTempRet0.fromasm @@ -7,7 +7,7 @@ (data (get_global $memoryBase) "i64-setTempRet0.asm.js") (export "illegalResult" (func $legalstub$illegalResult)) (export "imports" (func $imports)) - (func $imports (; 1 ;) (result i32) + (func $imports (; 1 ;) (; has Stack IR ;) (result i32) (i32.wrap/i64 (i64.or (i64.extend_u/i32 @@ -22,7 +22,7 @@ ) ) ) - (func $legalstub$illegalResult (; 2 ;) (result i32) + (func $legalstub$illegalResult (; 2 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) diff --git a/test/i64-setTempRet0.fromasm.clamp b/test/i64-setTempRet0.fromasm.clamp index ecb43a49c..bb834c144 100644 --- a/test/i64-setTempRet0.fromasm.clamp +++ b/test/i64-setTempRet0.fromasm.clamp @@ -7,7 +7,7 @@ (data (get_global $memoryBase) "i64-setTempRet0.asm.js") (export "illegalResult" (func $legalstub$illegalResult)) (export "imports" (func $imports)) - (func $imports (; 1 ;) (result i32) + (func $imports (; 1 ;) (; has Stack IR ;) (result i32) (i32.wrap/i64 (i64.or (i64.extend_u/i32 @@ -22,7 +22,7 @@ ) ) ) - (func $legalstub$illegalResult (; 2 ;) (result i32) + (func $legalstub$illegalResult (; 2 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) diff --git a/test/i64-setTempRet0.fromasm.imprecise b/test/i64-setTempRet0.fromasm.imprecise index c1ead5c79..4b22d94c8 100644 --- a/test/i64-setTempRet0.fromasm.imprecise +++ b/test/i64-setTempRet0.fromasm.imprecise @@ -4,7 +4,7 @@ (global $tempRet0 (mut i32) (i32.const 0)) (export "illegalResult" (func $legalstub$illegalResult)) (export "imports" (func $imports)) - (func $imports (; 1 ;) (result i32) + (func $imports (; 1 ;) (; has Stack IR ;) (result i32) (i32.wrap/i64 (i64.or (i64.extend_u/i32 @@ -19,7 +19,7 @@ ) ) ) - (func $legalstub$illegalResult (; 2 ;) (result i32) + (func $legalstub$illegalResult (; 2 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) diff --git a/test/importedSignCast.fromasm b/test/importedSignCast.fromasm index bc08b3596..81652875a 100644 --- a/test/importedSignCast.fromasm +++ b/test/importedSignCast.fromasm @@ -8,7 +8,7 @@ (elem (get_global $tableBase) $gm) (data (get_global $memoryBase) "importedSignCast.asm.js") (export "func" (func $func)) - (func $func (; 1 ;) + (func $func (; 1 ;) (; has Stack IR ;) (drop (call $gm (i32.const 0) diff --git a/test/importedSignCast.fromasm.clamp b/test/importedSignCast.fromasm.clamp index bc08b3596..81652875a 100644 --- a/test/importedSignCast.fromasm.clamp +++ b/test/importedSignCast.fromasm.clamp @@ -8,7 +8,7 @@ (elem (get_global $tableBase) $gm) (data (get_global $memoryBase) "importedSignCast.asm.js") (export "func" (func $func)) - (func $func (; 1 ;) + (func $func (; 1 ;) (; has Stack IR ;) (drop (call $gm (i32.const 0) diff --git a/test/importedSignCast.fromasm.imprecise b/test/importedSignCast.fromasm.imprecise index ecf04c851..d31be8dc4 100644 --- a/test/importedSignCast.fromasm.imprecise +++ b/test/importedSignCast.fromasm.imprecise @@ -5,7 +5,7 @@ (import "env" "_emscripten_glIsTexture" (func $gm (param i32) (result i32))) (elem (get_global $tableBase) $gm) (export "func" (func $func)) - (func $func (; 1 ;) + (func $func (; 1 ;) (; has Stack IR ;) (drop (call $gm (i32.const 0) diff --git a/test/memorygrowth-minimal.fromasm b/test/memorygrowth-minimal.fromasm index 5c5b303b3..021d7fca2 100644 --- a/test/memorygrowth-minimal.fromasm +++ b/test/memorygrowth-minimal.fromasm @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "memorygrowth-minimal.asm.js") (export "__growWasmMemory" (func $__growWasmMemory)) - (func $__growWasmMemory (; 0 ;) (param $0 i32) (result i32) + (func $__growWasmMemory (; 0 ;) (; has Stack IR ;) (param $0 i32) (result i32) (grow_memory (get_local $0) ) diff --git a/test/memorygrowth-minimal.fromasm.clamp b/test/memorygrowth-minimal.fromasm.clamp index 5c5b303b3..021d7fca2 100644 --- a/test/memorygrowth-minimal.fromasm.clamp +++ b/test/memorygrowth-minimal.fromasm.clamp @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "memorygrowth-minimal.asm.js") (export "__growWasmMemory" (func $__growWasmMemory)) - (func $__growWasmMemory (; 0 ;) (param $0 i32) (result i32) + (func $__growWasmMemory (; 0 ;) (; has Stack IR ;) (param $0 i32) (result i32) (grow_memory (get_local $0) ) diff --git a/test/memorygrowth-minimal.fromasm.imprecise b/test/memorygrowth-minimal.fromasm.imprecise index 4f308717e..7a8ef1065 100644 --- a/test/memorygrowth-minimal.fromasm.imprecise +++ b/test/memorygrowth-minimal.fromasm.imprecise @@ -1,7 +1,7 @@ (module (import "env" "memory" (memory $0 256)) (export "__growWasmMemory" (func $__growWasmMemory)) - (func $__growWasmMemory (; 0 ;) (param $0 i32) (result i32) + (func $__growWasmMemory (; 0 ;) (; has Stack IR ;) (param $0 i32) (result i32) (grow_memory (get_local $0) ) diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm index cf5cf85c2..5afec926b 100644 --- a/test/memorygrowth.fromasm +++ b/test/memorygrowth.fromasm @@ -50,12 +50,12 @@ (export "dynCall_ii" (func $kb)) (export "dynCall_iiii" (func $lb)) (export "dynCall_vi" (func $mb)) - (func $__growWasmMemory (; 12 ;) (param $0 i32) (result i32) + (func $__growWasmMemory (; 12 ;) (; has Stack IR ;) (param $0 i32) (result i32) (grow_memory (get_local $0) ) ) - (func $eb (; 13 ;) (param $0 i32) (result i32) + (func $eb (; 13 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5877,7 +5877,7 @@ (i32.const 8) ) ) - (func $fb (; 14 ;) (param $0 i32) + (func $fb (; 14 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7698,7 +7698,7 @@ (i32.const -1) ) ) - (func $Ra (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Ra (; 15 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8072,7 +8072,7 @@ ) (get_local $15) ) - (func $Wa (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8284,7 +8284,7 @@ ) (get_local $4) ) - (func $Za (; 17 ;) (param $0 i32) (result i32) + (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8428,7 +8428,7 @@ (get_local $3) ) ) - (func $_a (; 18 ;) (param $0 i32) (result i32) + (func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (tee_local $1 @@ -8532,7 +8532,7 @@ ) ) ) - (func $ab (; 19 ;) (param $0 i32) (param $1 i32) (result i32) + (func $ab (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8681,7 +8681,7 @@ ) (get_local $4) ) - (func $$a (; 20 ;) (param $0 i32) (result i32) + (func $$a (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8816,7 +8816,7 @@ ) (get_local $2) ) - (func $jb (; 21 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $jb (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -8963,10 +8963,10 @@ ) (get_local $3) ) - (func $gb (; 22 ;) + (func $gb (; 22 ;) (; has Stack IR ;) (nop) ) - (func $hb (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $hb (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9104,7 +9104,7 @@ (get_local $2) ) ) - (func $db (; 24 ;) (param $0 i32) (result i32) + (func $db (; 24 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (drop @@ -9194,7 +9194,7 @@ (i32.const 31) ) ) - (func $Xa (; 25 ;) (param $0 i32) (result i32) + (func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $2 @@ -9272,7 +9272,7 @@ ) ) ) - (func $bb (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (i32.mul @@ -9311,7 +9311,7 @@ ) (get_local $2) ) - (func $Ua (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Ua (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9380,7 +9380,7 @@ ) (get_local $0) ) - (func $Va (; 28 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Va (; 28 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9450,7 +9450,7 @@ ) (get_local $3) ) - (func $Oa (; 29 ;) (param $0 i32) (result i32) + (func $Oa (; 29 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $r) @@ -9480,7 +9480,7 @@ ) (get_local $0) ) - (func $Pa (; 30 ;) (param $0 i32) (result i32) + (func $Pa (; 30 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -9499,7 +9499,7 @@ (get_local $0) ) ) - (func $Qa (; 31 ;) (result i32) + (func $Qa (; 31 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 1160) @@ -9510,7 +9510,7 @@ (i32.const 1204) ) ) - (func $lb (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $lb (; 32 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -9524,7 +9524,7 @@ ) ) ) - (func $Ea (; 33 ;) (param $0 i32) (result i32) + (func $Ea (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $r) @@ -9546,13 +9546,13 @@ ) (get_local $1) ) - (func $ob (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $ob (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $ja (i32.const 1) ) (i32.const 0) ) - (func $Ia (; 35 ;) (param $0 i32) (param $1 i32) + (func $Ia (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $v) @@ -9567,7 +9567,7 @@ ) ) ) - (func $kb (; 36 ;) (param $0 i32) (param $1 i32) (result i32) + (func $kb (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -9576,14 +9576,14 @@ ) ) ) - (func $Sa (; 37 ;) (param $0 i32) + (func $Sa (; 37 ;) (; has Stack IR ;) (param $0 i32) (drop (i32.load offset=68 (get_local $0) ) ) ) - (func $mb (; 38 ;) (param $0 i32) (param $1 i32) + (func $mb (; 38 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -9595,7 +9595,7 @@ ) ) ) - (func $Ha (; 39 ;) (param $0 i32) (param $1 i32) + (func $Ha (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $r (get_local $0) ) @@ -9603,13 +9603,13 @@ (get_local $1) ) ) - (func $nb (; 40 ;) (param $0 i32) (result i32) + (func $nb (; 40 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $ja (i32.const 0) ) (i32.const 0) ) - (func $Na (; 41 ;) (result i32) + (func $Na (; 41 ;) (; has Stack IR ;) (result i32) (drop (call $db (i32.const 1144) @@ -9617,28 +9617,28 @@ ) (i32.const 0) ) - (func $pb (; 42 ;) (param $0 i32) + (func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32) (call $ja (i32.const 2) ) ) - (func $La (; 43 ;) (param $0 i32) + (func $La (; 43 ;) (; has Stack IR ;) (param $0 i32) (set_global $K (get_local $0) ) ) - (func $Ga (; 44 ;) (param $0 i32) + (func $Ga (; 44 ;) (; has Stack IR ;) (param $0 i32) (set_global $r (get_local $0) ) ) - (func $Ma (; 45 ;) (result i32) + (func $Ma (; 45 ;) (; has Stack IR ;) (result i32) (get_global $K) ) - (func $Fa (; 46 ;) (result i32) + (func $Fa (; 46 ;) (; has Stack IR ;) (result i32) (get_global $r) ) - (func $ib (; 47 ;) (result i32) + (func $ib (; 47 ;) (; has Stack IR ;) (result i32) (i32.const 0) ) ) diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp index cf5cf85c2..5afec926b 100644 --- a/test/memorygrowth.fromasm.clamp +++ b/test/memorygrowth.fromasm.clamp @@ -50,12 +50,12 @@ (export "dynCall_ii" (func $kb)) (export "dynCall_iiii" (func $lb)) (export "dynCall_vi" (func $mb)) - (func $__growWasmMemory (; 12 ;) (param $0 i32) (result i32) + (func $__growWasmMemory (; 12 ;) (; has Stack IR ;) (param $0 i32) (result i32) (grow_memory (get_local $0) ) ) - (func $eb (; 13 ;) (param $0 i32) (result i32) + (func $eb (; 13 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5877,7 +5877,7 @@ (i32.const 8) ) ) - (func $fb (; 14 ;) (param $0 i32) + (func $fb (; 14 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7698,7 +7698,7 @@ (i32.const -1) ) ) - (func $Ra (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Ra (; 15 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8072,7 +8072,7 @@ ) (get_local $15) ) - (func $Wa (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8284,7 +8284,7 @@ ) (get_local $4) ) - (func $Za (; 17 ;) (param $0 i32) (result i32) + (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8428,7 +8428,7 @@ (get_local $3) ) ) - (func $_a (; 18 ;) (param $0 i32) (result i32) + (func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (tee_local $1 @@ -8532,7 +8532,7 @@ ) ) ) - (func $ab (; 19 ;) (param $0 i32) (param $1 i32) (result i32) + (func $ab (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8681,7 +8681,7 @@ ) (get_local $4) ) - (func $$a (; 20 ;) (param $0 i32) (result i32) + (func $$a (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8816,7 +8816,7 @@ ) (get_local $2) ) - (func $jb (; 21 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $jb (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -8963,10 +8963,10 @@ ) (get_local $3) ) - (func $gb (; 22 ;) + (func $gb (; 22 ;) (; has Stack IR ;) (nop) ) - (func $hb (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $hb (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9104,7 +9104,7 @@ (get_local $2) ) ) - (func $db (; 24 ;) (param $0 i32) (result i32) + (func $db (; 24 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (drop @@ -9194,7 +9194,7 @@ (i32.const 31) ) ) - (func $Xa (; 25 ;) (param $0 i32) (result i32) + (func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $2 @@ -9272,7 +9272,7 @@ ) ) ) - (func $bb (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (i32.mul @@ -9311,7 +9311,7 @@ ) (get_local $2) ) - (func $Ua (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Ua (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9380,7 +9380,7 @@ ) (get_local $0) ) - (func $Va (; 28 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Va (; 28 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9450,7 +9450,7 @@ ) (get_local $3) ) - (func $Oa (; 29 ;) (param $0 i32) (result i32) + (func $Oa (; 29 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $r) @@ -9480,7 +9480,7 @@ ) (get_local $0) ) - (func $Pa (; 30 ;) (param $0 i32) (result i32) + (func $Pa (; 30 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -9499,7 +9499,7 @@ (get_local $0) ) ) - (func $Qa (; 31 ;) (result i32) + (func $Qa (; 31 ;) (; has Stack IR ;) (result i32) (if (result i32) (i32.load (i32.const 1160) @@ -9510,7 +9510,7 @@ (i32.const 1204) ) ) - (func $lb (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $lb (; 32 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -9524,7 +9524,7 @@ ) ) ) - (func $Ea (; 33 ;) (param $0 i32) (result i32) + (func $Ea (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $r) @@ -9546,13 +9546,13 @@ ) (get_local $1) ) - (func $ob (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $ob (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $ja (i32.const 1) ) (i32.const 0) ) - (func $Ia (; 35 ;) (param $0 i32) (param $1 i32) + (func $Ia (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $v) @@ -9567,7 +9567,7 @@ ) ) ) - (func $kb (; 36 ;) (param $0 i32) (param $1 i32) (result i32) + (func $kb (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -9576,14 +9576,14 @@ ) ) ) - (func $Sa (; 37 ;) (param $0 i32) + (func $Sa (; 37 ;) (; has Stack IR ;) (param $0 i32) (drop (i32.load offset=68 (get_local $0) ) ) ) - (func $mb (; 38 ;) (param $0 i32) (param $1 i32) + (func $mb (; 38 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -9595,7 +9595,7 @@ ) ) ) - (func $Ha (; 39 ;) (param $0 i32) (param $1 i32) + (func $Ha (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $r (get_local $0) ) @@ -9603,13 +9603,13 @@ (get_local $1) ) ) - (func $nb (; 40 ;) (param $0 i32) (result i32) + (func $nb (; 40 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $ja (i32.const 0) ) (i32.const 0) ) - (func $Na (; 41 ;) (result i32) + (func $Na (; 41 ;) (; has Stack IR ;) (result i32) (drop (call $db (i32.const 1144) @@ -9617,28 +9617,28 @@ ) (i32.const 0) ) - (func $pb (; 42 ;) (param $0 i32) + (func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32) (call $ja (i32.const 2) ) ) - (func $La (; 43 ;) (param $0 i32) + (func $La (; 43 ;) (; has Stack IR ;) (param $0 i32) (set_global $K (get_local $0) ) ) - (func $Ga (; 44 ;) (param $0 i32) + (func $Ga (; 44 ;) (; has Stack IR ;) (param $0 i32) (set_global $r (get_local $0) ) ) - (func $Ma (; 45 ;) (result i32) + (func $Ma (; 45 ;) (; has Stack IR ;) (result i32) (get_global $K) ) - (func $Fa (; 46 ;) (result i32) + (func $Fa (; 46 ;) (; has Stack IR ;) (result i32) (get_global $r) ) - (func $ib (; 47 ;) (result i32) + (func $ib (; 47 ;) (; has Stack IR ;) (result i32) (i32.const 0) ) ) diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise index 5512eab04..c71b3b697 100644 --- a/test/memorygrowth.fromasm.imprecise +++ b/test/memorygrowth.fromasm.imprecise @@ -48,12 +48,12 @@ (export "dynCall_ii" (func $kb)) (export "dynCall_iiii" (func $lb)) (export "dynCall_vi" (func $mb)) - (func $__growWasmMemory (; 12 ;) (param $0 i32) (result i32) + (func $__growWasmMemory (; 12 ;) (; has Stack IR ;) (param $0 i32) (result i32) (grow_memory (get_local $0) ) ) - (func $eb (; 13 ;) (param $0 i32) (result i32) + (func $eb (; 13 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5875,7 +5875,7 @@ (i32.const 8) ) ) - (func $fb (; 14 ;) (param $0 i32) + (func $fb (; 14 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7696,7 +7696,7 @@ (i32.const -1) ) ) - (func $Ra (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Ra (; 15 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8070,7 +8070,7 @@ ) (get_local $15) ) - (func $Wa (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Wa (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8282,7 +8282,7 @@ ) (get_local $4) ) - (func $Za (; 17 ;) (param $0 i32) (result i32) + (func $Za (; 17 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8426,7 +8426,7 @@ (get_local $3) ) ) - (func $_a (; 18 ;) (param $0 i32) (result i32) + (func $_a (; 18 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (tee_local $1 @@ -8525,7 +8525,7 @@ ) ) ) - (func $ab (; 19 ;) (param $0 i32) (param $1 i32) (result i32) + (func $ab (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8674,7 +8674,7 @@ ) (get_local $4) ) - (func $$a (; 20 ;) (param $0 i32) (result i32) + (func $$a (; 20 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8809,7 +8809,7 @@ ) (get_local $2) ) - (func $jb (; 21 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $jb (; 21 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s @@ -8956,10 +8956,10 @@ ) (get_local $3) ) - (func $gb (; 22 ;) + (func $gb (; 22 ;) (; has Stack IR ;) (nop) ) - (func $hb (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $hb (; 23 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9097,7 +9097,7 @@ (get_local $2) ) ) - (func $db (; 24 ;) (param $0 i32) (result i32) + (func $db (; 24 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (drop @@ -9187,7 +9187,7 @@ (i32.const 31) ) ) - (func $Xa (; 25 ;) (param $0 i32) (result i32) + (func $Xa (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (set_local $2 @@ -9265,7 +9265,7 @@ ) ) ) - (func $bb (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $bb (; 26 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (set_local $4 (i32.mul @@ -9293,7 +9293,7 @@ ) (get_local $2) ) - (func $Ua (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Ua (; 27 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9362,7 +9362,7 @@ ) (get_local $0) ) - (func $Va (; 28 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $Va (; 28 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (set_local $4 @@ -9432,7 +9432,7 @@ ) (get_local $3) ) - (func $Oa (; 29 ;) (param $0 i32) (result i32) + (func $Oa (; 29 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $r) @@ -9462,7 +9462,7 @@ ) (get_local $0) ) - (func $Pa (; 30 ;) (param $0 i32) (result i32) + (func $Pa (; 30 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (result i32) (i32.gt_u (get_local $0) @@ -9481,7 +9481,7 @@ (get_local $0) ) ) - (func $Qa (; 31 ;) (result i32) + (func $Qa (; 31 ;) (; has Stack IR ;) (result i32) (select (i32.load (i32.const 64) @@ -9492,7 +9492,7 @@ ) ) ) - (func $lb (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $lb (; 32 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (call_indirect (type $FUNCSIG$iiii) (get_local $1) (get_local $2) @@ -9506,7 +9506,7 @@ ) ) ) - (func $Ea (; 33 ;) (param $0 i32) (result i32) + (func $Ea (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) (local $1 i32) (set_local $1 (get_global $r) @@ -9528,13 +9528,13 @@ ) (get_local $1) ) - (func $ob (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $ob (; 34 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (call $ja (i32.const 1) ) (i32.const 0) ) - (func $Ia (; 35 ;) (param $0 i32) (param $1 i32) + (func $Ia (; 35 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (if (i32.eqz (get_global $v) @@ -9549,7 +9549,7 @@ ) ) ) - (func $kb (; 36 ;) (param $0 i32) (param $1 i32) (result i32) + (func $kb (; 36 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call_indirect (type $FUNCSIG$ii) (get_local $1) (i32.and @@ -9558,10 +9558,10 @@ ) ) ) - (func $Sa (; 37 ;) (param $0 i32) + (func $Sa (; 37 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $mb (; 38 ;) (param $0 i32) (param $1 i32) + (func $mb (; 38 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (call_indirect (type $FUNCSIG$vi) (get_local $1) (i32.add @@ -9573,7 +9573,7 @@ ) ) ) - (func $Ha (; 39 ;) (param $0 i32) (param $1 i32) + (func $Ha (; 39 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (set_global $r (get_local $0) ) @@ -9581,13 +9581,13 @@ (get_local $1) ) ) - (func $nb (; 40 ;) (param $0 i32) (result i32) + (func $nb (; 40 ;) (; has Stack IR ;) (param $0 i32) (result i32) (call $ja (i32.const 0) ) (i32.const 0) ) - (func $Na (; 41 ;) (result i32) + (func $Na (; 41 ;) (; has Stack IR ;) (result i32) (drop (call $db (i32.const 1144) @@ -9595,28 +9595,28 @@ ) (i32.const 0) ) - (func $pb (; 42 ;) (param $0 i32) + (func $pb (; 42 ;) (; has Stack IR ;) (param $0 i32) (call $ja (i32.const 2) ) ) - (func $La (; 43 ;) (param $0 i32) + (func $La (; 43 ;) (; has Stack IR ;) (param $0 i32) (set_global $K (get_local $0) ) ) - (func $Ga (; 44 ;) (param $0 i32) + (func $Ga (; 44 ;) (; has Stack IR ;) (param $0 i32) (set_global $r (get_local $0) ) ) - (func $Ma (; 45 ;) (result i32) + (func $Ma (; 45 ;) (; has Stack IR ;) (result i32) (get_global $K) ) - (func $Fa (; 46 ;) (result i32) + (func $Fa (; 46 ;) (; has Stack IR ;) (result i32) (get_global $r) ) - (func $ib (; 47 ;) (result i32) + (func $ib (; 47 ;) (; has Stack IR ;) (result i32) (i32.const 0) ) ) diff --git a/test/min.fromasm b/test/min.fromasm index 1f68b2acf..d46362b92 100644 --- a/test/min.fromasm +++ b/test/min.fromasm @@ -8,16 +8,16 @@ (export "neg" (func $legalstub$neg)) (export "bitcasts" (func $legalstub$bitcasts)) (export "ctzzzz" (func $ctzzzz)) - (func $ctzzzz (; 0 ;) (result i32) + (func $ctzzzz (; 0 ;) (; has Stack IR ;) (result i32) (i32.const 2) ) - (func $ub (; 1 ;) (result i32) + (func $ub (; 1 ;) (; has Stack IR ;) (result i32) (drop (call $ub) ) (get_global $M) ) - (func $legalstub$floats (; 2 ;) (param $0 f64) (result f64) + (func $legalstub$floats (; 2 ;) (; has Stack IR ;) (param $0 f64) (result f64) (f64.promote/f32 (f32.add (f32.const 0) @@ -27,7 +27,7 @@ ) ) ) - (func $legalstub$neg (; 3 ;) (param $0 i32) (param $1 i32) (result f64) + (func $legalstub$neg (; 3 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result f64) (i32.store (get_local $0) (get_local $1) @@ -40,7 +40,7 @@ ) ) ) - (func $legalstub$bitcasts (; 4 ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 4 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) ) diff --git a/test/min.fromasm.clamp b/test/min.fromasm.clamp index 1f68b2acf..d46362b92 100644 --- a/test/min.fromasm.clamp +++ b/test/min.fromasm.clamp @@ -8,16 +8,16 @@ (export "neg" (func $legalstub$neg)) (export "bitcasts" (func $legalstub$bitcasts)) (export "ctzzzz" (func $ctzzzz)) - (func $ctzzzz (; 0 ;) (result i32) + (func $ctzzzz (; 0 ;) (; has Stack IR ;) (result i32) (i32.const 2) ) - (func $ub (; 1 ;) (result i32) + (func $ub (; 1 ;) (; has Stack IR ;) (result i32) (drop (call $ub) ) (get_global $M) ) - (func $legalstub$floats (; 2 ;) (param $0 f64) (result f64) + (func $legalstub$floats (; 2 ;) (; has Stack IR ;) (param $0 f64) (result f64) (f64.promote/f32 (f32.add (f32.const 0) @@ -27,7 +27,7 @@ ) ) ) - (func $legalstub$neg (; 3 ;) (param $0 i32) (param $1 i32) (result f64) + (func $legalstub$neg (; 3 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result f64) (i32.store (get_local $0) (get_local $1) @@ -40,7 +40,7 @@ ) ) ) - (func $legalstub$bitcasts (; 4 ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 4 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) ) diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise index 444551428..997d2fbf0 100644 --- a/test/min.fromasm.imprecise +++ b/test/min.fromasm.imprecise @@ -6,16 +6,16 @@ (export "neg" (func $legalstub$neg)) (export "bitcasts" (func $legalstub$bitcasts)) (export "ctzzzz" (func $ctzzzz)) - (func $ctzzzz (; 0 ;) (result i32) + (func $ctzzzz (; 0 ;) (; has Stack IR ;) (result i32) (i32.const 2) ) - (func $ub (; 1 ;) (result i32) + (func $ub (; 1 ;) (; has Stack IR ;) (result i32) (drop (call $ub) ) (get_global $M) ) - (func $legalstub$floats (; 2 ;) (param $0 f64) (result f64) + (func $legalstub$floats (; 2 ;) (; has Stack IR ;) (param $0 f64) (result f64) (f64.promote/f32 (f32.add (f32.const 0) @@ -25,7 +25,7 @@ ) ) ) - (func $legalstub$neg (; 3 ;) (param $0 i32) (param $1 i32) (result f64) + (func $legalstub$neg (; 3 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result f64) (i32.store (get_local $0) (get_local $1) @@ -38,7 +38,7 @@ ) ) ) - (func $legalstub$bitcasts (; 4 ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 4 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) ) diff --git a/test/noffi_f32.fromasm b/test/noffi_f32.fromasm index 00ca4dc3d..ae0b26a6d 100644 --- a/test/noffi_f32.fromasm +++ b/test/noffi_f32.fromasm @@ -6,13 +6,13 @@ (data (get_global $memoryBase) "noffi_f32.asm.js") (export "main" (func $main)) (export "exportf" (func $exportf)) - (func $exportf (; 1 ;) (param $0 f32) (result f32) + (func $exportf (; 1 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.add (get_local $0) (f32.const 1) ) ) - (func $main (; 2 ;) (result i32) + (func $main (; 2 ;) (; has Stack IR ;) (result i32) (drop (call $importf (f32.const 3.4000000953674316) diff --git a/test/noffi_f32.fromasm.clamp b/test/noffi_f32.fromasm.clamp index 00ca4dc3d..ae0b26a6d 100644 --- a/test/noffi_f32.fromasm.clamp +++ b/test/noffi_f32.fromasm.clamp @@ -6,13 +6,13 @@ (data (get_global $memoryBase) "noffi_f32.asm.js") (export "main" (func $main)) (export "exportf" (func $exportf)) - (func $exportf (; 1 ;) (param $0 f32) (result f32) + (func $exportf (; 1 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.add (get_local $0) (f32.const 1) ) ) - (func $main (; 2 ;) (result i32) + (func $main (; 2 ;) (; has Stack IR ;) (result i32) (drop (call $importf (f32.const 3.4000000953674316) diff --git a/test/noffi_f32.fromasm.imprecise b/test/noffi_f32.fromasm.imprecise index 85fc2b07c..60d6df1d1 100644 --- a/test/noffi_f32.fromasm.imprecise +++ b/test/noffi_f32.fromasm.imprecise @@ -3,13 +3,13 @@ (import "env" "_importf" (func $importf (param f32) (result f32))) (export "main" (func $main)) (export "exportf" (func $exportf)) - (func $exportf (; 1 ;) (param $0 f32) (result f32) + (func $exportf (; 1 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.add (get_local $0) (f32.const 1) ) ) - (func $main (; 2 ;) (result i32) + (func $main (; 2 ;) (; has Stack IR ;) (result i32) (drop (call $importf (f32.const 3.4000000953674316) diff --git a/test/noffi_i64.fromasm b/test/noffi_i64.fromasm index 1254149fa..69fbe532b 100644 --- a/test/noffi_i64.fromasm +++ b/test/noffi_i64.fromasm @@ -6,13 +6,13 @@ (data (get_global $memoryBase) "noffi_i64.asm.js") (export "_add" (func $add)) (export "_main" (func $main)) - (func $add (; 1 ;) (param $0 i64) (param $1 i64) (result i64) + (func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (i64.add (get_local $1) (get_local $0) ) ) - (func $main (; 2 ;) (result i32) + (func $main (; 2 ;) (; has Stack IR ;) (result i32) (drop (call $importll (i64.const 2) diff --git a/test/noffi_i64.fromasm.clamp b/test/noffi_i64.fromasm.clamp index 1254149fa..69fbe532b 100644 --- a/test/noffi_i64.fromasm.clamp +++ b/test/noffi_i64.fromasm.clamp @@ -6,13 +6,13 @@ (data (get_global $memoryBase) "noffi_i64.asm.js") (export "_add" (func $add)) (export "_main" (func $main)) - (func $add (; 1 ;) (param $0 i64) (param $1 i64) (result i64) + (func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (i64.add (get_local $1) (get_local $0) ) ) - (func $main (; 2 ;) (result i32) + (func $main (; 2 ;) (; has Stack IR ;) (result i32) (drop (call $importll (i64.const 2) diff --git a/test/noffi_i64.fromasm.imprecise b/test/noffi_i64.fromasm.imprecise index 8eb41d2b8..7cdc838fb 100644 --- a/test/noffi_i64.fromasm.imprecise +++ b/test/noffi_i64.fromasm.imprecise @@ -3,13 +3,13 @@ (import "env" "_importll" (func $importll (param i64) (result i64))) (export "_add" (func $add)) (export "_main" (func $main)) - (func $add (; 1 ;) (param $0 i64) (param $1 i64) (result i64) + (func $add (; 1 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (i64.add (get_local $1) (get_local $0) ) ) - (func $main (; 2 ;) (result i32) + (func $main (; 2 ;) (; has Stack IR ;) (result i32) (drop (call $importll (i64.const 2) diff --git a/test/passes/O.bin.txt b/test/passes/O.bin.txt index d1f85899f..ae3bda836 100644 --- a/test/passes/O.bin.txt +++ b/test/passes/O.bin.txt @@ -5,7 +5,7 @@ (export "fac-iter" (func $2)) (export "fac-iter-named" (func $3)) (export "fac-opt" (func $4)) - (func $0 (; 0 ;) (type $0) (param $0 i64) (result i64) + (func $0 (; 0 ;) (; has Stack IR ;) (type $0) (param $0 i64) (result i64) (if (result i64) (i64.eq (get_local $0) @@ -23,7 +23,7 @@ ) ) ) - (func $1 (; 1 ;) (type $0) (param $0 i64) (result i64) + (func $1 (; 1 ;) (; has Stack IR ;) (type $0) (param $0 i64) (result i64) (if (result i64) (i64.eq (get_local $0) @@ -41,10 +41,10 @@ ) ) ) - (func $2 (; 2 ;) (type $0) (param $0 i64) (result i64) + (func $2 (; 2 ;) (; has Stack IR ;) (type $0) (param $0 i64) (result i64) (unreachable) ) - (func $3 (; 3 ;) (type $0) (param $0 i64) (result i64) + (func $3 (; 3 ;) (; has Stack IR ;) (type $0) (param $0 i64) (result i64) (local $1 i64) (set_local $1 (i64.const 1) @@ -74,7 +74,7 @@ ) (get_local $1) ) - (func $4 (; 4 ;) (type $0) (param $0 i64) (result i64) + (func $4 (; 4 ;) (; has Stack IR ;) (type $0) (param $0 i64) (result i64) (local $1 i64) (set_local $1 (i64.const 1) diff --git a/test/passes/O.txt b/test/passes/O.txt index 390f0783b..dcf9257c3 100644 --- a/test/passes/O.txt +++ b/test/passes/O.txt @@ -3,7 +3,7 @@ (type $1 (func (param i64))) (export "ret" (func $ret)) (export "waka" (func $if-0-unreachable-to-none)) - (func $ret (; 0 ;) (type $0) (result i32) + (func $ret (; 0 ;) (; has Stack IR ;) (type $0) (result i32) (block $out (result i32) (drop (call $ret) @@ -17,7 +17,7 @@ (i32.const 999) ) ) - (func $if-0-unreachable-to-none (; 1 ;) (type $1) (param $0 i64) + (func $if-0-unreachable-to-none (; 1 ;) (; has Stack IR ;) (type $1) (param $0 i64) (unreachable) ) ) diff --git a/test/passes/O1_print-stack-ir.txt b/test/passes/O1_print-stack-ir.txt new file mode 100644 index 000000000..ab3bf9255 --- /dev/null +++ b/test/passes/O1_print-stack-ir.txt @@ -0,0 +1,29 @@ +$stacky-help: + (no stack ir) +(module + (type $0 (func (param i32) (result i32))) + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (; 0 ;) (type $0) (param $0 i32) (result i32) + (local $1 i32) + (i32.add + (call $stacky-help + (i32.const 0) + ) + (block (result i32) + (set_local $1 + (call $stacky-help + (i32.const 1) + ) + ) + (drop + (call $stacky-help + (i32.const 2) + ) + ) + (i32.eqz + (get_local $1) + ) + ) + ) + ) +) diff --git a/test/passes/O1_print-stack-ir.wast b/test/passes/O1_print-stack-ir.wast new file mode 100644 index 000000000..a53d9d51e --- /dev/null +++ b/test/passes/O1_print-stack-ir.wast @@ -0,0 +1,16 @@ +(module + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (param $x i32) (result i32) + (local $temp i32) + (i32.add + (call $stacky-help (i32.const 0)) + (i32.eqz + (block (result i32) ;; after we use the stack instead of the local, we can remove this block + (set_local $temp (call $stacky-help (i32.const 1))) + (drop (call $stacky-help (i32.const 2))) + (get_local $temp) + ) + ) + ) + ) +) diff --git a/test/passes/O2_precompute-propagate_print-stack-ir.txt b/test/passes/O2_precompute-propagate_print-stack-ir.txt new file mode 100644 index 000000000..6c3ee8ee1 --- /dev/null +++ b/test/passes/O2_precompute-propagate_print-stack-ir.txt @@ -0,0 +1,16 @@ +$0: + (no stack ir) +(module + (type $0 (func (param i32 i32 i32 i64) (result i64))) + (export "func" (func $0)) + (func $0 (; 0 ;) (type $0) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64) + (local $4 i32) + (block $label$1 + (set_local $3 + (i64.const 2147483647) + ) + (nop) + ) + (i64.const 2147483647) + ) +) diff --git a/test/passes/O2_precompute-propagate_print-stack-ir.wast b/test/passes/O2_precompute-propagate_print-stack-ir.wast new file mode 100644 index 000000000..f6f0dae9f --- /dev/null +++ b/test/passes/O2_precompute-propagate_print-stack-ir.wast @@ -0,0 +1,18 @@ +(module + (func "func" (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i64) (result i64) + (local $var$4 i32) + (block $label$1 + (set_local $var$3 + (i64.const 2147483647) + ) + (br_if $label$1 + (get_local $var$4) ;; precompute-propagate will optimize this into 0, then the br_if is nopped + ;; in place. if stack ir is not regenerated, that means we have the get + ;; on the stack from before, and the br_if is now a nop, which means no one + ;; pops the get + ) + ) + (get_local $var$3) + ) +) + diff --git a/test/passes/O2_print-stack-ir.txt b/test/passes/O2_print-stack-ir.txt new file mode 100644 index 000000000..aa2a91528 --- /dev/null +++ b/test/passes/O2_print-stack-ir.txt @@ -0,0 +1,40 @@ +$stacky-help: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 set_local (none) +5 const (i32) +6 call (i32) +7 drop (none) +8 get_local (i32) +9 unary (i32) +10 binary (i32) + +(module + (type $0 (func (param i32) (result i32))) + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (; 0 ;) (; has Stack IR ;) (type $0) (param $0 i32) (result i32) + (local $1 i32) + (i32.add + (call $stacky-help + (i32.const 0) + ) + (block (result i32) + (set_local $1 + (call $stacky-help + (i32.const 1) + ) + ) + (drop + (call $stacky-help + (i32.const 2) + ) + ) + (i32.eqz + (get_local $1) + ) + ) + ) + ) +) diff --git a/test/passes/O2_print-stack-ir.wast b/test/passes/O2_print-stack-ir.wast new file mode 100644 index 000000000..a53d9d51e --- /dev/null +++ b/test/passes/O2_print-stack-ir.wast @@ -0,0 +1,16 @@ +(module + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (param $x i32) (result i32) + (local $temp i32) + (i32.add + (call $stacky-help (i32.const 0)) + (i32.eqz + (block (result i32) ;; after we use the stack instead of the local, we can remove this block + (set_local $temp (call $stacky-help (i32.const 1))) + (drop (call $stacky-help (i32.const 2))) + (get_local $temp) + ) + ) + ) + ) +) diff --git a/test/passes/O3_print-stack-ir.txt b/test/passes/O3_print-stack-ir.txt new file mode 100644 index 000000000..ca1cc46ba --- /dev/null +++ b/test/passes/O3_print-stack-ir.txt @@ -0,0 +1,38 @@ +$stacky-help: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 const (i32) +5 call (i32) +6 drop (none) +7 unary (i32) +8 binary (i32) + +(module + (type $0 (func (param i32) (result i32))) + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (; 0 ;) (; has Stack IR ;) (type $0) (param $0 i32) (result i32) + (local $1 i32) + (i32.add + (call $stacky-help + (i32.const 0) + ) + (block (result i32) + (set_local $1 + (call $stacky-help + (i32.const 1) + ) + ) + (drop + (call $stacky-help + (i32.const 2) + ) + ) + (i32.eqz + (get_local $1) + ) + ) + ) + ) +) diff --git a/test/passes/O3_print-stack-ir.wast b/test/passes/O3_print-stack-ir.wast new file mode 100644 index 000000000..a53d9d51e --- /dev/null +++ b/test/passes/O3_print-stack-ir.wast @@ -0,0 +1,16 @@ +(module + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (param $x i32) (result i32) + (local $temp i32) + (i32.add + (call $stacky-help (i32.const 0)) + (i32.eqz + (block (result i32) ;; after we use the stack instead of the local, we can remove this block + (set_local $temp (call $stacky-help (i32.const 1))) + (drop (call $stacky-help (i32.const 2))) + (get_local $temp) + ) + ) + ) + ) +) diff --git a/test/passes/O4.txt b/test/passes/O4.txt index 1939a740e..9a64b18ff 100644 --- a/test/passes/O4.txt +++ b/test/passes/O4.txt @@ -2,7 +2,7 @@ (type $0 (func)) (global $global$0 (mut i32) (i32.const 10)) (export "func_59_invoker" (func $0)) - (func $0 (; 0 ;) (type $0) + (func $0 (; 0 ;) (; has Stack IR ;) (type $0) (set_global $global$0 (i32.const 0) ) diff --git a/test/passes/Os_print-stack-ir.txt b/test/passes/Os_print-stack-ir.txt new file mode 100644 index 000000000..ca1cc46ba --- /dev/null +++ b/test/passes/Os_print-stack-ir.txt @@ -0,0 +1,38 @@ +$stacky-help: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 const (i32) +5 call (i32) +6 drop (none) +7 unary (i32) +8 binary (i32) + +(module + (type $0 (func (param i32) (result i32))) + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (; 0 ;) (; has Stack IR ;) (type $0) (param $0 i32) (result i32) + (local $1 i32) + (i32.add + (call $stacky-help + (i32.const 0) + ) + (block (result i32) + (set_local $1 + (call $stacky-help + (i32.const 1) + ) + ) + (drop + (call $stacky-help + (i32.const 2) + ) + ) + (i32.eqz + (get_local $1) + ) + ) + ) + ) +) diff --git a/test/passes/Os_print-stack-ir.wast b/test/passes/Os_print-stack-ir.wast new file mode 100644 index 000000000..a53d9d51e --- /dev/null +++ b/test/passes/Os_print-stack-ir.wast @@ -0,0 +1,16 @@ +(module + (export "stacky-help" (func $stacky-help)) + (func $stacky-help (param $x i32) (result i32) + (local $temp i32) + (i32.add + (call $stacky-help (i32.const 0)) + (i32.eqz + (block (result i32) ;; after we use the stack instead of the local, we can remove this block + (set_local $temp (call $stacky-help (i32.const 1))) + (drop (call $stacky-help (i32.const 2))) + (get_local $temp) + ) + ) + ) + ) +) diff --git a/test/passes/Oz.txt b/test/passes/Oz.txt index 883ccc476..a59ac924b 100644 --- a/test/passes/Oz.txt +++ b/test/passes/Oz.txt @@ -4,7 +4,7 @@ (memory $0 100 100) (export "localcse" (func $basics)) (export "localcse-2" (func $8)) - (func $basics (; 0 ;) (type $0) (param $0 i32) (param $1 i32) (result i32) + (func $basics (; 0 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) (i32.add (i32.add (get_local $0) @@ -16,7 +16,7 @@ ) ) ) - (func $8 (; 1 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $8 (; 1 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (i32.store (tee_local $2 (i32.add diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt index 47e01cdbe..a272a6288 100644 --- a/test/passes/converge_O3_metrics.bin.txt +++ b/test/passes/converge_O3_metrics.bin.txt @@ -42,13 +42,13 @@ total (data (i32.const 18764) "`\0b") (export "_main" (func $_main)) (export "_malloc" (func $_malloc)) - (func $b0 (; 1 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32) + (func $b0 (; 1 ;) (; has Stack IR ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32) (i32.const 0) ) - (func $_malloc (; 2 ;) (type $2) (param $0 i32) (result i32) + (func $_malloc (; 2 ;) (; has Stack IR ;) (type $2) (param $0 i32) (result i32) (i32.const 0) ) - (func $___stdio_write (; 3 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 3 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (i32.store (i32.const 8) (get_local $1) @@ -79,7 +79,7 @@ total ) (i32.const 1) ) - (func $_main (; 4 ;) (type $7) (result i32) + (func $_main (; 4 ;) (; has Stack IR ;) (type $7) (result i32) (local $0 i32) (call $__ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_j (block (result i32) @@ -109,7 +109,7 @@ total ) (i32.const 0) ) - (func $___stdout_write (; 5 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 5 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (set_global $global$0 (i32.const 32) ) @@ -119,7 +119,7 @@ total (get_local $2) ) ) - (func $__ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_j (; 6 ;) (type $3) (param $0 i32) + (func $__ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_j (; 6 ;) (; has Stack IR ;) (type $3) (param $0 i32) (local $1 i32) (set_local $1 (i32.load offset=24 @@ -157,7 +157,7 @@ total ) ) ) - (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 7 ;) (type $3) (param $0 i32) + (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 7 ;) (; has Stack IR ;) (type $3) (param $0 i32) (local $1 i32) (local $2 i32) (block $label$1 @@ -202,7 +202,7 @@ total ) ) ) - (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; 8 ;) (type $0) (param $0 i32) (param $1 i32) (result i32) + (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; 8 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) (i32.store8 (i32.const 0) (get_local $1) @@ -227,7 +227,7 @@ total ) (i32.const 0) ) - (func $__ZNSt3__211__stdoutbufIcE6xsputnEPKci (; 9 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $__ZNSt3__211__stdoutbufIcE6xsputnEPKci (; 9 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (drop (call_indirect (type $1) (i32.const 0) @@ -290,13 +290,13 @@ total (data (i32.const 18764) "`\0b") (export "_main" (func $_main)) (export "_malloc" (func $_malloc)) - (func $b0 (; 1 ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32) + (func $b0 (; 1 ;) (; has Stack IR ;) (type $6) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i32) (i32.const 0) ) - (func $_malloc (; 2 ;) (type $2) (param $0 i32) (result i32) + (func $_malloc (; 2 ;) (; has Stack IR ;) (type $2) (param $0 i32) (result i32) (i32.const 0) ) - (func $___stdio_write (; 3 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdio_write (; 3 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (i32.store (i32.const 8) (get_local $1) @@ -327,7 +327,7 @@ total ) (i32.const 1) ) - (func $_main (; 4 ;) (type $7) (result i32) + (func $_main (; 4 ;) (; has Stack IR ;) (type $7) (result i32) (local $0 i32) (call $__ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_j (block (result i32) @@ -357,7 +357,7 @@ total ) (i32.const 0) ) - (func $___stdout_write (; 5 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $___stdout_write (; 5 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (set_global $global$0 (i32.const 32) ) @@ -367,7 +367,7 @@ total (get_local $2) ) ) - (func $__ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_j (; 6 ;) (type $3) (param $0 i32) + (func $__ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_j (; 6 ;) (; has Stack IR ;) (type $3) (param $0 i32) (local $1 i32) (set_local $1 (i32.load offset=24 @@ -405,7 +405,7 @@ total ) ) ) - (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 7 ;) (type $3) (param $0 i32) + (func $__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc (; 7 ;) (; has Stack IR ;) (type $3) (param $0 i32) (local $1 i32) (local $2 i32) (block $label$1 @@ -450,7 +450,7 @@ total ) ) ) - (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; 8 ;) (type $0) (param $0 i32) (param $1 i32) (result i32) + (func $__ZNSt3__211__stdoutbufIcE8overflowEi (; 8 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) (i32.store8 (i32.const 0) (get_local $1) @@ -475,7 +475,7 @@ total ) (i32.const 0) ) - (func $__ZNSt3__211__stdoutbufIcE6xsputnEPKci (; 9 ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $__ZNSt3__211__stdoutbufIcE6xsputnEPKci (; 9 ;) (; has Stack IR ;) (type $1) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (drop (call_indirect (type $1) (i32.const 0) diff --git a/test/passes/flatten_local-cse_Os.txt b/test/passes/flatten_local-cse_Os.txt index 85bc4d6f5..4c95a1df5 100644 --- a/test/passes/flatten_local-cse_Os.txt +++ b/test/passes/flatten_local-cse_Os.txt @@ -1,7 +1,7 @@ (module (type $0 (func (param i32 i32) (result i32))) (export "div16_internal" (func $0)) - (func $0 (; 0 ;) (type $0) (param $0 i32) (param $1 i32) (result i32) + (func $0 (; 0 ;) (; has Stack IR ;) (type $0) (param $0 i32) (param $1 i32) (result i32) (i32.add (tee_local $0 (i32.xor diff --git a/test/passes/fuzz-exec_O.txt b/test/passes/fuzz-exec_O.txt index 8ebd35fa1..dd90a838c 100644 --- a/test/passes/fuzz-exec_O.txt +++ b/test/passes/fuzz-exec_O.txt @@ -7,7 +7,7 @@ (memory $0 1 1) (export "func_0" (func $func_0)) (export "func_1" (func $func_1)) - (func $func_0 (; 0 ;) (type $0) (result i64) + (func $func_0 (; 0 ;) (; has Stack IR ;) (type $0) (result i64) (block $label$0 (result i64) (br_if $label$0 (i64.const 1234) @@ -17,7 +17,7 @@ ) ) ) - (func $func_1 (; 1 ;) (type $1) (result i32) + (func $func_1 (; 1 ;) (; has Stack IR ;) (type $1) (result i32) (i32.load16_s offset=22 align=1 (i32.const -1) ) diff --git a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt new file mode 100644 index 000000000..11c33366c --- /dev/null +++ b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.txt @@ -0,0 +1,1540 @@ +$big_negative: +0 const (f64) +1 set_local (none) +2 const (f64) +3 set_local (none) +4 const (f64) +5 set_local (none) +6 const (f64) +7 set_local (none) +8 const (f64) +9 set_local (none) + +$importedDoubles: +0 block +1 const (i32) +2 load (f64) +3 const (i32) +4 load (f64) +5 binary (f64) +6 const (i32) +7 load (f64) +8 unary (f64) +9 binary (f64) +10 const (i32) +11 load (f64) +12 unary (f64) +13 binary (f64) +14 set_local (none) +15 const (i32) +16 load (i32) +17 const (i32) +18 binary (i32) +19 if +20 const (f64) +21 break (unreachable) +22 end (none) +23 const (i32) +24 load (f64) +25 const (f64) +26 binary (i32) +27 if +28 const (f64) +29 break (unreachable) +30 end (none) +31 const (f64) +32 end (f64) + +$doubleCompares: +0 block +1 get_local (f64) +2 const (f64) +3 binary (i32) +4 if +5 const (f64) +6 break (unreachable) +7 end (none) +8 get_local (f64) +9 const (f64) +10 binary (i32) +11 if +12 const (f64) +13 break (unreachable) +14 end (none) +15 get_local (i32) +16 const (i32) +17 binary (i32) +18 if +19 const (f64) +20 break (unreachable) +21 end (none) +22 get_local (f64) +23 get_local (f64) +24 binary (i32) +25 if +26 get_local (f64) +27 break (unreachable) +28 end (none) +29 get_local (f64) +30 end (f64) + +$intOps: +0 get_local (i32) +1 const (i32) +2 binary (i32) + +$hexLiterals: +0 const (i32) +1 const (i32) +2 binary (i32) +3 const (i32) +4 binary (i32) +5 drop (none) + +$conversions: +0 get_local (f64) +1 call_import (i32) +2 set_local (none) +3 get_local (i32) +4 unary (f64) +5 set_local (none) +6 get_local (i32) +7 const (i32) +8 binary (i32) +9 unary (f64) +10 set_local (none) + +$seq: +0 const (f64) +1 drop (none) +2 const (f64) +3 const (f64) +4 drop (none) +5 const (f64) +6 binary (f64) +7 set_local (none) + +$switcher: +0 block +1 block +2 block +3 block +4 get_local (i32) +5 const (i32) +6 binary (i32) +7 switch (unreachable) +8 end (none) +9 const (i32) +10 break (unreachable) +11 end (none) +12 const (i32) +13 break (unreachable) +14 end (none) +15 nop (none) +16 block +17 block +18 block +19 get_local (i32) +20 const (i32) +21 binary (i32) +22 switch (unreachable) +23 end (none) +24 const (i32) +25 break (unreachable) +26 end (none) +27 const (i32) +28 break (unreachable) +29 end (none) +30 nop (none) +31 block +32 block +33 block +34 block +35 block +36 block +37 get_local (i32) +38 const (i32) +39 binary (i32) +40 switch (unreachable) +41 end (none) +42 break (unreachable) +43 end (none) +44 break (unreachable) +45 end (none) +46 block +47 loop +48 break (unreachable) +49 end (none) +50 unreachable (unreachable) +51 end (none) +52 end (none) +53 loop +54 break (unreachable) +55 end (none) +56 unreachable (unreachable) +57 end (none) +58 nop (none) +59 end (none) +60 const (i32) +61 end (i32) + +$blocker: +0 block +1 break (unreachable) +2 end (none) + +$frem: +0 const (f64) +1 const (f64) +2 call_import (f64) + +$big_uint_div_u: +0 const (i32) +1 const (i32) +2 binary (i32) +3 const (i32) +4 binary (i32) + +$fr: +0 get_local (f64) +1 unary (f32) +2 drop (none) +3 get_local (f32) +4 drop (none) +5 const (f32) +6 drop (none) +7 const (f32) +8 drop (none) +9 const (f32) +10 drop (none) +11 const (f32) +12 drop (none) + +$negZero: +0 const (f64) + +$abs: +0 const (i32) +1 set_local (none) +2 const (i32) +3 get_local (i32) +4 binary (i32) +5 get_local (i32) +6 get_local (i32) +7 const (i32) +8 binary (i32) +9 select (i32) +10 set_local (none) +11 const (f64) +12 unary (f64) +13 set_local (none) +14 const (f32) +15 unary (f32) +16 set_local (none) + +$neg: +0 get_local (f32) +1 unary (f32) +2 const (i32) +3 const (i32) +4 binary (i32) +5 const (i32) +6 binary (i32) +7 call_indirect (none) + +$cneg: +0 get_local (f32) +1 const (i32) +2 const (i32) +3 binary (i32) +4 const (i32) +5 binary (i32) +6 call_indirect (none) + +$___syscall_ret: +0 get_local (i32) +1 const (i32) +2 binary (i32) +3 const (i32) +4 binary (i32) +5 drop (none) + +$z: +0 nop (none) + +$w: +0 nop (none) + +$block_and_after: +0 block +1 const (i32) +2 drop (none) +3 break (unreachable) +4 end (none) +5 const (i32) + +$loop-roundtrip: +0 loop +1 get_local (f64) +2 drop (none) +3 get_local (f64) +4 end (f64) + +$big-i64: +0 const (i64) + +$i64-store32: +0 get_local (i32) +1 get_local (i64) +2 store (none) + +$return-unreachable: +0 const (i32) +1 return (unreachable) + +$unreachable-block: +0 const (i32) +1 drop (none) +2 const (i32) +3 return (unreachable) + +$unreachable-block-toplevel: +0 const (i32) +1 drop (none) +2 const (i32) +3 return (unreachable) + +$unreachable-block0: +0 const (i32) +1 return (unreachable) + +$unreachable-block0-toplevel: +0 const (i32) +1 return (unreachable) + +$unreachable-block-with-br: +0 block +1 const (i32) +2 drop (none) +3 break (unreachable) +4 end (none) +5 const (i32) + +$unreachable-if: +0 const (i32) +1 if +2 const (i32) +3 return (unreachable) +4 else +5 const (i32) +6 return (unreachable) +7 end (none) +8 unreachable (unreachable) + +$unreachable-if-toplevel: +0 const (i32) +1 if +2 const (i32) +3 return (unreachable) +4 else +5 const (i32) +6 return (unreachable) +7 end (none) +8 unreachable (unreachable) + +$unreachable-loop: +0 loop +1 nop (none) +2 const (i32) +3 return (unreachable) +4 end (none) +5 unreachable (unreachable) + +$unreachable-loop0: +0 loop +1 const (i32) +2 return (unreachable) +3 end (none) +4 unreachable (unreachable) + +$unreachable-loop-toplevel: +0 loop +1 nop (none) +2 const (i32) +3 return (unreachable) +4 end (none) +5 unreachable (unreachable) + +$unreachable-loop0-toplevel: +0 loop +1 const (i32) +2 return (unreachable) +3 end (none) +4 unreachable (unreachable) + +$unreachable-ifs: +0 unreachable (unreachable) + +$unreachable-if-arm: +0 const (i32) +1 if +2 nop (none) +3 else +4 unreachable (unreachable) +5 end (none) + +$local-to-stack: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 drop (none) + +$local-to-stack-1: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 drop (none) +5 unary (i32) + +$local-to-stack-1b: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 drop (none) +5 const (i32) +6 binary (i32) + +$local-to-stack-1c-no: +0 const (i32) +1 call (i32) +2 set_local (none) +3 const (i32) +4 call (i32) +5 drop (none) +6 const (i32) +7 get_local (i32) +8 binary (i32) + +$local-to-stack-2-no: +0 const (i32) +1 call (i32) +2 set_local (none) +3 const (i32) +4 call (i32) +5 drop (none) +6 get_local (i32) +7 get_local (i32) +8 binary (i32) + +$local-to-stack-3-no: +0 const (i32) +1 if +2 const (i32) +3 call (i32) +4 set_local (none) +5 else +6 const (i32) +7 call (i32) +8 set_local (none) +9 end (none) +10 const (i32) +11 call (i32) +12 drop (none) +13 get_local (i32) + +$local-to-stack-multi-4: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 drop (none) +5 drop (none) +6 const (i32) +7 call (i32) +8 const (i32) +9 call (i32) +10 drop (none) + +$local-to-stack-multi-5: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 drop (none) +5 drop (none) +6 const (i32) +7 call (i32) +8 const (i32) +9 call (i32) +10 drop (none) + +$local-to-stack-multi-6-justone: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 drop (none) +5 drop (none) +6 const (i32) +7 call (i32) +8 set_local (none) +9 const (i32) +10 call (i32) +11 drop (none) +12 get_local (i32) +13 get_local (i32) +14 binary (i32) + +$local-to-stack-multi-7-justone: +0 const (i32) +1 call (i32) +2 set_local (none) +3 const (i32) +4 call (i32) +5 drop (none) +6 get_local (i32) +7 get_local (i32) +8 binary (i32) +9 drop (none) +10 const (i32) +11 call (i32) +12 const (i32) +13 call (i32) +14 drop (none) + +$local-to-stack-overlapping-multi-8-no: +0 const (i32) +1 call (i32) +2 set_local (none) +3 const (i32) +4 call (i32) +5 const (i32) +6 call (i32) +7 drop (none) +8 get_local (i32) +9 binary (i32) + +$local-to-stack-overlapping-multi-9-yes: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 const (i32) +5 call (i32) +6 drop (none) +7 binary (i32) + +$local-to-stack-through-control-flow: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 const (i32) +5 if +6 nop (none) +7 end (none) +8 drop (none) +9 const (i32) +10 call (i32) +11 block +12 break (unreachable) +13 end (none) +14 drop (none) +15 drop (none) + +$local-to-stack-in-control-flow: +0 const (i32) +1 if +2 const (i32) +3 call (i32) +4 drop (none) +5 else +6 const (i32) +7 call (i32) +8 drop (none) +9 end (none) + +$remove-block: +0 const (i32) +1 call (i32) +2 const (i32) +3 call (i32) +4 const (i32) +5 call (i32) +6 drop (none) +7 unary (i32) +8 binary (i32) + +(module + (type $FUNCSIG$vf (func (param f32))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$id (func (param f64) (result i32))) + (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) + (type $4 (func (result f64))) + (type $5 (func (result i32))) + (type $6 (func (param i32) (result i32))) + (type $7 (func (param f64) (result f64))) + (type $8 (func (result i64))) + (type $9 (func (param i32 i64))) + (import "env" "_emscripten_asm_const_vi" (func $_emscripten_asm_const_vi)) + (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32))) + (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64))) + (table 10 anyfunc) + (elem (i32.const 0) $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg) + (memory $0 4096 4096) + (data (i32.const 1026) "\14\00") + (export "big_negative" (func $big_negative)) + (func $big_negative (; 3 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $temp f64) + (block $block0 + (set_local $temp + (f64.const -2147483648) + ) + (set_local $temp + (f64.const -2147483648) + ) + (set_local $temp + (f64.const -21474836480) + ) + (set_local $temp + (f64.const 0.039625) + ) + (set_local $temp + (f64.const -0.039625) + ) + ) + ) + (func $importedDoubles (; 4 ;) (; has Stack IR ;) (type $4) (result f64) + (local $temp f64) + (block $topmost (result f64) + (set_local $temp + (f64.add + (f64.add + (f64.add + (f64.load + (i32.const 8) + ) + (f64.load + (i32.const 16) + ) + ) + (f64.neg + (f64.load + (i32.const 16) + ) + ) + ) + (f64.neg + (f64.load + (i32.const 8) + ) + ) + ) + ) + (if + (i32.gt_s + (i32.load + (i32.const 24) + ) + (i32.const 0) + ) + (br $topmost + (f64.const -3.4) + ) + ) + (if + (f64.gt + (f64.load + (i32.const 32) + ) + (f64.const 0) + ) + (br $topmost + (f64.const 5.6) + ) + ) + (f64.const 1.2) + ) + ) + (func $doubleCompares (; 5 ;) (; has Stack IR ;) (type $FUNCSIG$ddd) (param $x f64) (param $y f64) (result f64) + (local $t f64) + (local $Int f64) + (local $Double i32) + (block $topmost (result f64) + (if + (f64.gt + (get_local $x) + (f64.const 0) + ) + (br $topmost + (f64.const 1.2) + ) + ) + (if + (f64.gt + (get_local $Int) + (f64.const 0) + ) + (br $topmost + (f64.const -3.4) + ) + ) + (if + (i32.gt_s + (get_local $Double) + (i32.const 0) + ) + (br $topmost + (f64.const 5.6) + ) + ) + (if + (f64.lt + (get_local $x) + (get_local $y) + ) + (br $topmost + (get_local $x) + ) + ) + (get_local $y) + ) + ) + (func $intOps (; 6 ;) (; has Stack IR ;) (type $5) (result i32) + (local $x i32) + (i32.eq + (get_local $x) + (i32.const 0) + ) + ) + (func $hexLiterals (; 7 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (drop + (i32.add + (i32.add + (i32.const 0) + (i32.const 313249263) + ) + (i32.const -19088752) + ) + ) + ) + (func $conversions (; 8 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $i i32) + (local $d f64) + (block $block0 + (set_local $i + (call $f64-to-int + (get_local $d) + ) + ) + (set_local $d + (f64.convert_s/i32 + (get_local $i) + ) + ) + (set_local $d + (f64.convert_u/i32 + (i32.shr_u + (get_local $i) + (i32.const 0) + ) + ) + ) + ) + ) + (func $seq (; 9 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $J f64) + (set_local $J + (f64.sub + (block $block0 (result f64) + (drop + (f64.const 0.1) + ) + (f64.const 5.1) + ) + (block $block1 (result f64) + (drop + (f64.const 3.2) + ) + (f64.const 4.2) + ) + ) + ) + ) + (func $switcher (; 10 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (block $topmost (result i32) + (block $switch$0 + (block $switch-default$3 + (block $switch-case$2 + (block $switch-case$1 + (br_table $switch-case$1 $switch-case$2 $switch-default$3 + (i32.sub + (get_local $x) + (i32.const 1) + ) + ) + ) + (br $topmost + (i32.const 1) + ) + ) + (br $topmost + (i32.const 2) + ) + ) + (nop) + ) + (block $switch$4 + (block $switch-default$7 + (block $switch-case$6 + (block $switch-case$5 + (br_table $switch-case$6 $switch-default$7 $switch-default$7 $switch-default$7 $switch-default$7 $switch-default$7 $switch-default$7 $switch-case$5 $switch-default$7 + (i32.sub + (get_local $x) + (i32.const 5) + ) + ) + ) + (br $topmost + (i32.const 121) + ) + ) + (br $topmost + (i32.const 51) + ) + ) + (nop) + ) + (block $label$break$Lout + (block $switch-default$16 + (block $switch-case$15 + (block $switch-case$12 + (block $switch-case$9 + (block $switch-case$8 + (br_table $switch-case$15 $switch-default$16 $switch-default$16 $switch-case$12 $switch-default$16 $switch-default$16 $switch-default$16 $switch-default$16 $switch-case$9 $switch-default$16 $switch-case$8 $switch-default$16 + (i32.sub + (get_local $x) + (i32.const 2) + ) + ) + ) + (br $label$break$Lout) + ) + (br $label$break$Lout) + ) + (block $while-out$10 + (loop $while-in$11 + (block $block1 + (br $while-out$10) + (br $while-in$11) + ) + ) + (br $label$break$Lout) + ) + ) + (block $while-out$13 + (loop $while-in$14 + (block $block3 + (br $label$break$Lout) + (br $while-in$14) + ) + ) + (br $label$break$Lout) + ) + ) + (nop) + ) + (i32.const 0) + ) + ) + (func $blocker (; 11 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (block $label$break$L + (br $label$break$L) + ) + ) + (func $frem (; 12 ;) (; has Stack IR ;) (type $4) (result f64) + (call $f64-rem + (f64.const 5.5) + (f64.const 1.2) + ) + ) + (func $big_uint_div_u (; 13 ;) (; has Stack IR ;) (type $5) (result i32) + (local $x i32) + (block $topmost (result i32) + (set_local $x + (i32.and + (i32.div_u + (i32.const -1) + (i32.const 2) + ) + (i32.const -1) + ) + ) + (get_local $x) + ) + ) + (func $fr (; 14 ;) (; has Stack IR ;) (type $FUNCSIG$vf) (param $x f32) + (local $y f32) + (local $z f64) + (block $block0 + (drop + (f32.demote/f64 + (get_local $z) + ) + ) + (drop + (get_local $y) + ) + (drop + (f32.const 5) + ) + (drop + (f32.const 0) + ) + (drop + (f32.const 5) + ) + (drop + (f32.const 0) + ) + ) + ) + (func $negZero (; 15 ;) (; has Stack IR ;) (type $4) (result f64) + (f64.const -0) + ) + (func $abs (; 16 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $x i32) + (local $y f64) + (local $z f32) + (local $asm2wasm_i32_temp i32) + (block $block0 + (set_local $x + (block $block1 (result i32) + (set_local $asm2wasm_i32_temp + (i32.const 0) + ) + (select + (i32.sub + (i32.const 0) + (get_local $asm2wasm_i32_temp) + ) + (get_local $asm2wasm_i32_temp) + (i32.lt_s + (get_local $asm2wasm_i32_temp) + (i32.const 0) + ) + ) + ) + ) + (set_local $y + (f64.abs + (f64.const 0) + ) + ) + (set_local $z + (f32.abs + (f32.const 0) + ) + ) + ) + ) + (func $neg (; 17 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $x f32) + (block $block0 + (set_local $x + (f32.neg + (get_local $x) + ) + ) + (call_indirect (type $FUNCSIG$vf) + (get_local $x) + (i32.add + (i32.and + (i32.const 1) + (i32.const 7) + ) + (i32.const 8) + ) + ) + ) + ) + (func $cneg (; 18 ;) (; has Stack IR ;) (type $FUNCSIG$vf) (param $x f32) + (call_indirect (type $FUNCSIG$vf) + (get_local $x) + (i32.add + (i32.and + (i32.const 1) + (i32.const 7) + ) + (i32.const 8) + ) + ) + ) + (func $___syscall_ret (; 19 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $$0 i32) + (drop + (i32.gt_u + (i32.shr_u + (get_local $$0) + (i32.const 0) + ) + (i32.const -4096) + ) + ) + ) + (func $z (; 20 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (nop) + ) + (func $w (; 21 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (nop) + ) + (func $block_and_after (; 22 ;) (; has Stack IR ;) (type $5) (result i32) + (block $waka + (drop + (i32.const 1) + ) + (br $waka) + ) + (i32.const 0) + ) + (func $loop-roundtrip (; 23 ;) (; has Stack IR ;) (type $7) (param $0 f64) (result f64) + (loop $loop-in1 (result f64) + (drop + (get_local $0) + ) + (get_local $0) + ) + ) + (func $big-i64 (; 24 ;) (; has Stack IR ;) (type $8) (result i64) + (i64.const -9218868437227405313) + ) + (func $i64-store32 (; 25 ;) (; has Stack IR ;) (type $9) (param $0 i32) (param $1 i64) + (i64.store32 + (get_local $0) + (get_local $1) + ) + ) + (func $return-unreachable (; 26 ;) (; has Stack IR ;) (type $5) (result i32) + (return + (i32.const 1) + ) + ) + (func $unreachable-block (; 27 ;) (; has Stack IR ;) (type $5) (result i32) + (f64.abs + (block $block + (drop + (i32.const 1) + ) + (return + (i32.const 2) + ) + ) + ) + ) + (func $unreachable-block-toplevel (; 28 ;) (; has Stack IR ;) (type $5) (result i32) + (block $block + (drop + (i32.const 1) + ) + (return + (i32.const 2) + ) + ) + ) + (func $unreachable-block0 (; 29 ;) (; has Stack IR ;) (type $5) (result i32) + (f64.abs + (block $block + (return + (i32.const 2) + ) + ) + ) + ) + (func $unreachable-block0-toplevel (; 30 ;) (; has Stack IR ;) (type $5) (result i32) + (block $block + (return + (i32.const 2) + ) + ) + ) + (func $unreachable-block-with-br (; 31 ;) (; has Stack IR ;) (type $5) (result i32) + (block $block + (drop + (i32.const 1) + ) + (br $block) + ) + (i32.const 1) + ) + (func $unreachable-if (; 32 ;) (; has Stack IR ;) (type $5) (result i32) + (f64.abs + (if + (i32.const 3) + (return + (i32.const 2) + ) + (return + (i32.const 1) + ) + ) + ) + ) + (func $unreachable-if-toplevel (; 33 ;) (; has Stack IR ;) (type $5) (result i32) + (if + (i32.const 3) + (return + (i32.const 2) + ) + (return + (i32.const 1) + ) + ) + ) + (func $unreachable-loop (; 34 ;) (; has Stack IR ;) (type $5) (result i32) + (f64.abs + (loop $loop-in + (nop) + (return + (i32.const 1) + ) + ) + ) + ) + (func $unreachable-loop0 (; 35 ;) (; has Stack IR ;) (type $5) (result i32) + (f64.abs + (loop $loop-in + (return + (i32.const 1) + ) + ) + ) + ) + (func $unreachable-loop-toplevel (; 36 ;) (; has Stack IR ;) (type $5) (result i32) + (loop $loop-in + (nop) + (return + (i32.const 1) + ) + ) + ) + (func $unreachable-loop0-toplevel (; 37 ;) (; has Stack IR ;) (type $5) (result i32) + (loop $loop-in + (return + (i32.const 1) + ) + ) + ) + (func $unreachable-ifs (; 38 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (if + (unreachable) + (nop) + ) + (if + (unreachable) + (unreachable) + ) + (if + (unreachable) + (nop) + (nop) + ) + (if + (unreachable) + (unreachable) + (nop) + ) + (if + (unreachable) + (nop) + (unreachable) + ) + (if + (unreachable) + (unreachable) + (unreachable) + ) + (if + (i32.const 1) + (unreachable) + (nop) + ) + (if + (i32.const 1) + (nop) + (unreachable) + ) + (if + (i32.const 1) + (unreachable) + (unreachable) + ) + ) + (func $unreachable-if-arm (; 39 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (if + (i32.const 1) + (block $block + (nop) + ) + (block $block12 + (unreachable) + (drop + (i32.const 1) + ) + ) + ) + ) + (func $local-to-stack (; 40 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (set_local $temp + (call $local-to-stack + (i32.const 1) + ) + ) + (drop + (call $local-to-stack + (i32.const 2) + ) + ) + (get_local $temp) + ) + (func $local-to-stack-1 (; 41 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (set_local $temp + (call $local-to-stack + (i32.const 1) + ) + ) + (drop + (call $local-to-stack + (i32.const 2) + ) + ) + (i32.eqz + (get_local $temp) + ) + ) + (func $local-to-stack-1b (; 42 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (set_local $temp + (call $local-to-stack + (i32.const 1) + ) + ) + (drop + (call $local-to-stack + (i32.const 2) + ) + ) + (i32.add + (get_local $temp) + (i32.const 3) + ) + ) + (func $local-to-stack-1c-no (; 43 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (set_local $temp + (call $local-to-stack + (i32.const 1) + ) + ) + (drop + (call $local-to-stack + (i32.const 2) + ) + ) + (i32.add + (i32.const 3) + (get_local $temp) + ) + ) + (func $local-to-stack-2-no (; 44 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (set_local $temp + (call $local-to-stack + (i32.const 1) + ) + ) + (drop + (call $local-to-stack + (i32.const 2) + ) + ) + (i32.add + (get_local $temp) + (get_local $temp) + ) + ) + (func $local-to-stack-3-no (; 45 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (if + (i32.const 1) + (set_local $temp + (call $local-to-stack + (i32.const 1) + ) + ) + (set_local $temp + (call $local-to-stack + (i32.const 2) + ) + ) + ) + (drop + (call $local-to-stack + (i32.const 3) + ) + ) + (get_local $temp) + ) + (func $local-to-stack-multi-4 (; 46 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 2) + ) + ) + (drop + (get_local $temp1) + ) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 3) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 4) + ) + ) + (get_local $temp1) + ) + (func $local-to-stack-multi-5 (; 47 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 2) + ) + ) + (drop + (get_local $temp1) + ) + (set_local $temp2 + (call $local-to-stack-multi-4 + (i32.const 3) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 4) + ) + ) + (get_local $temp2) + ) + (func $local-to-stack-multi-6-justone (; 48 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 2) + ) + ) + (drop + (get_local $temp1) + ) + (set_local $temp2 + (call $local-to-stack-multi-4 + (i32.const 3) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 4) + ) + ) + (i32.add + (get_local $temp2) + (get_local $temp2) + ) + ) + (func $local-to-stack-multi-7-justone (; 49 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 2) + ) + ) + (drop + (i32.add + (get_local $temp1) + (get_local $temp1) + ) + ) + (set_local $temp2 + (call $local-to-stack-multi-4 + (i32.const 3) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 4) + ) + ) + (get_local $temp2) + ) + (func $local-to-stack-overlapping-multi-8-no (; 50 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (set_local $temp2 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 3) + ) + ) + (i32.add + (get_local $temp2) + (get_local $temp1) + ) + ) + (func $local-to-stack-overlapping-multi-9-yes (; 51 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (set_local $temp2 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (call $local-to-stack-multi-4 + (i32.const 3) + ) + ) + (i32.add + (get_local $temp1) + (get_local $temp2) + ) + ) + (func $local-to-stack-through-control-flow (; 52 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp2 + (call $local-to-stack-multi-4 + (i32.const 0) + ) + ) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (if + (i32.const 0) + (nop) + ) + (drop + (get_local $temp1) + ) + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 2) + ) + ) + (block $block + (br $block) + ) + (drop + (get_local $temp1) + ) + (drop + (get_local $temp2) + ) + ) + (func $local-to-stack-in-control-flow (; 53 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $temp1 i32) + (if + (i32.const 0) + (block $block + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 0) + ) + ) + (drop + (get_local $temp1) + ) + ) + (block $block13 + (set_local $temp1 + (call $local-to-stack-multi-4 + (i32.const 1) + ) + ) + (drop + (get_local $temp1) + ) + ) + ) + ) + (func $remove-block (; 54 ;) (; has Stack IR ;) (type $6) (param $x i32) (result i32) + (local $temp i32) + (i32.add + (call $remove-block + (i32.const 0) + ) + (i32.eqz + (block $block (result i32) + (set_local $temp + (call $remove-block + (i32.const 1) + ) + ) + (drop + (call $remove-block + (i32.const 2) + ) + ) + (get_local $temp) + ) + ) + ) + ) +) diff --git a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.wast b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.wast new file mode 100644 index 000000000..9176ff5bc --- /dev/null +++ b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_optimize-level=3.wast @@ -0,0 +1,712 @@ +(module + (type $FUNCSIG$vf (func (param f32))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$id (func (param f64) (result i32))) + (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) + (type $4 (func (result f64))) + (type $5 (func (result i32))) + (type $6 (func (param i32) (result i32))) + (type $7 (func (param f64) (result f64))) + (type $8 (func (result i64))) + (type $9 (func (param i32 i64))) + (import "env" "_emscripten_asm_const_vi" (func $_emscripten_asm_const_vi)) + (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32))) + (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64))) + (table 10 anyfunc) + (elem (i32.const 0) $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg) + (memory $0 4096 4096) + (data (i32.const 1026) "\14\00") + (export "big_negative" (func $big_negative)) + (func $big_negative (type $FUNCSIG$v) + (local $temp f64) + (block $block0 + (set_local $temp + (f64.const -2147483648) + ) + (set_local $temp + (f64.const -2147483648) + ) + (set_local $temp + (f64.const -21474836480) + ) + (set_local $temp + (f64.const 0.039625) + ) + (set_local $temp + (f64.const -0.039625) + ) + ) + ) + (func $importedDoubles (type $4) (result f64) + (local $temp f64) + (block $topmost (result f64) + (set_local $temp + (f64.add + (f64.add + (f64.add + (f64.load + (i32.const 8) + ) + (f64.load + (i32.const 16) + ) + ) + (f64.neg + (f64.load + (i32.const 16) + ) + ) + ) + (f64.neg + (f64.load + (i32.const 8) + ) + ) + ) + ) + (if + (i32.gt_s + (i32.load + (i32.const 24) + ) + (i32.const 0) + ) + (br $topmost + (f64.const -3.4) + ) + ) + (if + (f64.gt + (f64.load + (i32.const 32) + ) + (f64.const 0) + ) + (br $topmost + (f64.const 5.6) + ) + ) + (f64.const 1.2) + ) + ) + (func $doubleCompares (type $FUNCSIG$ddd) (param $x f64) (param $y f64) (result f64) + (local $t f64) + (local $Int f64) + (local $Double i32) + (block $topmost (result f64) + (if + (f64.gt + (get_local $x) + (f64.const 0) + ) + (br $topmost + (f64.const 1.2) + ) + ) + (if + (f64.gt + (get_local $Int) + (f64.const 0) + ) + (br $topmost + (f64.const -3.4) + ) + ) + (if + (i32.gt_s + (get_local $Double) + (i32.const 0) + ) + (br $topmost + (f64.const 5.6) + ) + ) + (if + (f64.lt + (get_local $x) + (get_local $y) + ) + (br $topmost + (get_local $x) + ) + ) + (get_local $y) + ) + ) + (func $intOps (type $5) (result i32) + (local $x i32) + (i32.eq + (get_local $x) + (i32.const 0) + ) + ) + (func $hexLiterals (type $FUNCSIG$v) + (drop + (i32.add + (i32.add + (i32.const 0) + (i32.const 313249263) + ) + (i32.const -19088752) + ) + ) + ) + (func $conversions (type $FUNCSIG$v) + (local $i i32) + (local $d f64) + (block $block0 + (set_local $i + (call $f64-to-int + (get_local $d) + ) + ) + (set_local $d + (f64.convert_s/i32 + (get_local $i) + ) + ) + (set_local $d + (f64.convert_u/i32 + (i32.shr_u + (get_local $i) + (i32.const 0) + ) + ) + ) + ) + ) + (func $seq (type $FUNCSIG$v) + (local $J f64) + (set_local $J + (f64.sub + (block $block0 (result f64) + (drop + (f64.const 0.1) + ) + (f64.const 5.1) + ) + (block $block1 (result f64) + (drop + (f64.const 3.2) + ) + (f64.const 4.2) + ) + ) + ) + ) + (func $switcher (type $6) (param $x i32) (result i32) + (block $topmost (result i32) + (block $switch$0 + (block $switch-default$3 + (block $switch-case$2 + (block $switch-case$1 + (br_table $switch-case$1 $switch-case$2 $switch-default$3 + (i32.sub + (get_local $x) + (i32.const 1) + ) + ) + ) + (br $topmost + (i32.const 1) + ) + ) + (br $topmost + (i32.const 2) + ) + ) + (nop) + ) + (block $switch$4 + (block $switch-default$7 + (block $switch-case$6 + (block $switch-case$5 + (br_table $switch-case$6 $switch-default$7 $switch-default$7 $switch-default$7 $switch-default$7 $switch-default$7 $switch-default$7 $switch-case$5 $switch-default$7 + (i32.sub + (get_local $x) + (i32.const 5) + ) + ) + ) + (br $topmost + (i32.const 121) + ) + ) + (br $topmost + (i32.const 51) + ) + ) + (nop) + ) + (block $label$break$Lout + (block $switch-default$16 + (block $switch-case$15 + (block $switch-case$12 + (block $switch-case$9 + (block $switch-case$8 + (br_table $switch-case$15 $switch-default$16 $switch-default$16 $switch-case$12 $switch-default$16 $switch-default$16 $switch-default$16 $switch-default$16 $switch-case$9 $switch-default$16 $switch-case$8 $switch-default$16 + (i32.sub + (get_local $x) + (i32.const 2) + ) + ) + ) + (br $label$break$Lout) + ) + (br $label$break$Lout) + ) + (block $while-out$10 + (loop $while-in$11 + (block $block1 + (br $while-out$10) + (br $while-in$11) + ) + ) + (br $label$break$Lout) + ) + ) + (block $while-out$13 + (loop $while-in$14 + (block $block3 + (br $label$break$Lout) + (br $while-in$14) + ) + ) + (br $label$break$Lout) + ) + ) + (nop) + ) + (i32.const 0) + ) + ) + (func $blocker (type $FUNCSIG$v) + (block $label$break$L + (br $label$break$L) + ) + ) + (func $frem (type $4) (result f64) + (call $f64-rem + (f64.const 5.5) + (f64.const 1.2) + ) + ) + (func $big_uint_div_u (type $5) (result i32) + (local $x i32) + (block $topmost (result i32) + (set_local $x + (i32.and + (i32.div_u + (i32.const -1) + (i32.const 2) + ) + (i32.const -1) + ) + ) + (get_local $x) + ) + ) + (func $fr (type $FUNCSIG$vf) (param $x f32) + (local $y f32) + (local $z f64) + (block $block0 + (drop + (f32.demote/f64 + (get_local $z) + ) + ) + (drop + (get_local $y) + ) + (drop + (f32.const 5) + ) + (drop + (f32.const 0) + ) + (drop + (f32.const 5) + ) + (drop + (f32.const 0) + ) + ) + ) + (func $negZero (type $4) (result f64) + (f64.const -0) + ) + (func $abs (type $FUNCSIG$v) + (local $x i32) + (local $y f64) + (local $z f32) + (local $asm2wasm_i32_temp i32) + (block $block0 + (set_local $x + (block $block1 (result i32) + (set_local $asm2wasm_i32_temp + (i32.const 0) + ) + (select + (i32.sub + (i32.const 0) + (get_local $asm2wasm_i32_temp) + ) + (get_local $asm2wasm_i32_temp) + (i32.lt_s + (get_local $asm2wasm_i32_temp) + (i32.const 0) + ) + ) + ) + ) + (set_local $y + (f64.abs + (f64.const 0) + ) + ) + (set_local $z + (f32.abs + (f32.const 0) + ) + ) + ) + ) + (func $neg (type $FUNCSIG$v) + (local $x f32) + (block $block0 + (set_local $x + (f32.neg + (get_local $x) + ) + ) + (call_indirect (type $FUNCSIG$vf) + (get_local $x) + (i32.add + (i32.and + (i32.const 1) + (i32.const 7) + ) + (i32.const 8) + ) + ) + ) + ) + (func $cneg (type $FUNCSIG$vf) (param $x f32) + (call_indirect (type $FUNCSIG$vf) + (get_local $x) + (i32.add + (i32.and + (i32.const 1) + (i32.const 7) + ) + (i32.const 8) + ) + ) + ) + (func $___syscall_ret (type $FUNCSIG$v) + (local $$0 i32) + (drop + (i32.gt_u + (i32.shr_u + (get_local $$0) + (i32.const 0) + ) + (i32.const -4096) + ) + ) + ) + (func $z (type $FUNCSIG$v) + (nop) + ) + (func $w (type $FUNCSIG$v) + (nop) + ) + (func $block_and_after (type $5) (result i32) + (block $waka + (drop + (i32.const 1) + ) + (br $waka) + ) + (i32.const 0) + ) + (func $loop-roundtrip (type $7) (param $0 f64) (result f64) + (loop $loop-in1 (result f64) + (drop + (get_local $0) + ) + (get_local $0) + ) + ) + (func $big-i64 (type $8) (result i64) + (i64.const -9218868437227405313) + ) + (func $i64-store32 (type $9) (param $0 i32) (param $1 i64) + (i64.store32 + (get_local $0) + (get_local $1) + ) + ) + (func $return-unreachable (result i32) + (return (i32.const 1)) + ) + (func $unreachable-block (result i32) + (f64.abs + (block ;; note no type - valid in binaryen IR, in wasm must be i32 + (drop (i32.const 1)) + (return (i32.const 2)) + ) + ) + ) + (func $unreachable-block-toplevel (result i32) + (block ;; note no type - valid in binaryen IR, in wasm must be i32 + (drop (i32.const 1)) + (return (i32.const 2)) + ) + ) + (func $unreachable-block0 (result i32) + (f64.abs + (block ;; note no type - valid in binaryen IR, in wasm must be i32 + (return (i32.const 2)) + ) + ) + ) + (func $unreachable-block0-toplevel (result i32) + (block ;; note no type - valid in binaryen IR, in wasm must be i32 + (return (i32.const 2)) + ) + ) + (func $unreachable-block-with-br (result i32) + (block $block ;; unreachable type due to last element having that type, but the block is exitable + (drop (i32.const 1)) + (br $block) + ) + (i32.const 1) + ) + (func $unreachable-if (result i32) + (f64.abs + (if ;; note no type - valid in binaryen IR, in wasm must be i32 + (i32.const 3) + (return (i32.const 2)) + (return (i32.const 1)) + ) + ) + ) + (func $unreachable-if-toplevel (result i32) + (if ;; note no type - valid in binaryen IR, in wasm must be i32 + (i32.const 3) + (return (i32.const 2)) + (return (i32.const 1)) + ) + ) + (func $unreachable-loop (result i32) + (f64.abs + (loop ;; note no type - valid in binaryen IR, in wasm must be i32 + (nop) + (return (i32.const 1)) + ) + ) + ) + (func $unreachable-loop0 (result i32) + (f64.abs + (loop ;; note no type - valid in binaryen IR, in wasm must be i32 + (return (i32.const 1)) + ) + ) + ) + (func $unreachable-loop-toplevel (result i32) + (loop ;; note no type - valid in binaryen IR, in wasm must be i32 + (nop) + (return (i32.const 1)) + ) + ) + (func $unreachable-loop0-toplevel (result i32) + (loop ;; note no type - valid in binaryen IR, in wasm must be i32 + (return (i32.const 1)) + ) + ) + (func $unreachable-ifs + (if (unreachable) (nop)) + (if (unreachable) (unreachable)) + (if (unreachable) (nop) (nop)) + (if (unreachable) (unreachable) (nop)) + (if (unreachable) (nop) (unreachable)) + (if (unreachable) (unreachable) (unreachable)) + ;; + (if (i32.const 1) (unreachable) (nop)) + (if (i32.const 1) (nop) (unreachable)) + (if (i32.const 1) (unreachable) (unreachable)) + ) + (func $unreachable-if-arm + (if + (i32.const 1) + (block + (nop) + ) + (block + (unreachable) + (drop + (i32.const 1) + ) + ) + ) + ) + (func $local-to-stack (param $x i32) (result i32) + (local $temp i32) + (set_local $temp (call $local-to-stack (i32.const 1))) ;; this set could just be on the stack + (drop (call $local-to-stack (i32.const 2))) + (get_local $temp) + ) + (func $local-to-stack-1 (param $x i32) (result i32) + (local $temp i32) + (set_local $temp (call $local-to-stack (i32.const 1))) + (drop (call $local-to-stack (i32.const 2))) + (i32.eqz + (get_local $temp) + ) + ) + (func $local-to-stack-1b (param $x i32) (result i32) + (local $temp i32) + (set_local $temp (call $local-to-stack (i32.const 1))) + (drop (call $local-to-stack (i32.const 2))) + (i32.add + (get_local $temp) + (i32.const 3) + ) + ) + (func $local-to-stack-1c-no (param $x i32) (result i32) + (local $temp i32) + (set_local $temp (call $local-to-stack (i32.const 1))) + (drop (call $local-to-stack (i32.const 2))) + (i32.add + (i32.const 3) ;; this is in the way + (get_local $temp) + ) + ) + (func $local-to-stack-2-no (param $x i32) (result i32) + (local $temp i32) + (set_local $temp (call $local-to-stack (i32.const 1))) + (drop (call $local-to-stack (i32.const 2))) + (i32.add + (get_local $temp) + (get_local $temp) ;; a second use - so cannot stack it + ) + ) + (func $local-to-stack-3-no (param $x i32) (result i32) + (local $temp i32) + (if (i32.const 1) + (set_local $temp (call $local-to-stack (i32.const 1))) + (set_local $temp (call $local-to-stack (i32.const 2))) ;; two sets for that get + ) + (drop (call $local-to-stack (i32.const 3))) + (get_local $temp) + ) + (func $local-to-stack-multi-4 (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (call $local-to-stack-multi-4 (i32.const 2))) + (drop (get_local $temp1)) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 3))) ;; same local, used later + (drop (call $local-to-stack-multi-4 (i32.const 4))) + (get_local $temp1) + ) + (func $local-to-stack-multi-5 (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (call $local-to-stack-multi-4 (i32.const 2))) + (drop (get_local $temp1)) + (set_local $temp2 (call $local-to-stack-multi-4 (i32.const 3))) ;; different local, used later + (drop (call $local-to-stack-multi-4 (i32.const 4))) + (get_local $temp2) + ) + (func $local-to-stack-multi-6-justone (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (call $local-to-stack-multi-4 (i32.const 2))) + (drop (get_local $temp1)) + (set_local $temp2 (call $local-to-stack-multi-4 (i32.const 3))) ;; different local, used later + (drop (call $local-to-stack-multi-4 (i32.const 4))) + (i32.add + (get_local $temp2) + (get_local $temp2) + ) + ) + (func $local-to-stack-multi-7-justone (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (call $local-to-stack-multi-4 (i32.const 2))) + (drop + (i32.add + (get_local $temp1) + (get_local $temp1) + ) + ) + (set_local $temp2 (call $local-to-stack-multi-4 (i32.const 3))) ;; different local, used later + (drop (call $local-to-stack-multi-4 (i32.const 4))) + (get_local $temp2) + ) + (func $local-to-stack-overlapping-multi-8-no (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (set_local $temp2 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (call $local-to-stack-multi-4 (i32.const 3))) + (i32.add + (get_local $temp2) ;; the timing + (get_local $temp1) ;; it sucks + ) + ) + (func $local-to-stack-overlapping-multi-9-yes (param $x i32) (result i32) + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (set_local $temp2 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (call $local-to-stack-multi-4 (i32.const 3))) + (i32.add + (get_local $temp1) ;; the stars align + (get_local $temp2) ;; and a time presents itself + ) + ) + (func $local-to-stack-through-control-flow + (local $temp1 i32) + (local $temp2 i32) + (set_local $temp2 (call $local-to-stack-multi-4 (i32.const 0))) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (if (i32.const 0) (nop)) + (drop (get_local $temp1)) + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 2))) + (block $block (br $block)) + (drop (get_local $temp1)) + (drop (get_local $temp2)) + ) + (func $local-to-stack-in-control-flow + (local $temp1 i32) + (if (i32.const 0) + (block + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 0))) + (drop (get_local $temp1)) + ) + (block + (set_local $temp1 (call $local-to-stack-multi-4 (i32.const 1))) + (drop (get_local $temp1)) + ) + ) + ) + (func $remove-block (param $x i32) (result i32) + (local $temp i32) + (i32.add + (call $remove-block (i32.const 0)) + (i32.eqz + (block (result i32) ;; after we use the stack instead of the local, we can remove this block + (set_local $temp (call $remove-block (i32.const 1))) + (drop (call $remove-block (i32.const 2))) + (get_local $temp) + ) + ) + ) + ) +) diff --git a/test/passes/remove-unused-brs_generate-stack-ir_print-stack-ir.txt b/test/passes/remove-unused-brs_generate-stack-ir_print-stack-ir.txt new file mode 100644 index 000000000..126b2926e --- /dev/null +++ b/test/passes/remove-unused-brs_generate-stack-ir_print-stack-ir.txt @@ -0,0 +1,41 @@ +$0: +0 block +1 block +2 loop +3 block +4 unreachable (unreachable) +5 unreachable (unreachable) +6 end (none) +7 unreachable (unreachable) +8 set_local (unreachable) +9 unreachable (unreachable) +10 unreachable (unreachable) +11 end (none) +12 unreachable (unreachable) +13 unreachable (unreachable) +14 unreachable (unreachable) +15 end (none) +16 unreachable (unreachable) +17 break (unreachable) +18 unreachable (unreachable) +19 end (none) + +(module + (type $0 (func (param i64))) + (func $0 (; 0 ;) (; has Stack IR ;) (type $0) (param $var$0 i64) + (block $label$1 + (br_if $label$1 + (block $label$2 + (loop $label$3 + (tee_local $var$0 + (block $label$4 + (unreachable) + ) + ) + ) + (unreachable) + ) + ) + ) + ) +) diff --git a/test/passes/remove-unused-brs_generate-stack-ir_print-stack-ir.wast b/test/passes/remove-unused-brs_generate-stack-ir_print-stack-ir.wast new file mode 100644 index 000000000..6a771aa4d --- /dev/null +++ b/test/passes/remove-unused-brs_generate-stack-ir_print-stack-ir.wast @@ -0,0 +1,21 @@ +(module + (type $0 (func (param i64))) + (func $0 (; 0 ;) (type $0) (param $var$0 i64) + (block $label$1 + (br_if $label$1 + (block $label$2 (result i32) + (loop $label$3 + (set_local $var$0 + (block $label$4 (result i64) + (unreachable) + ) + ) + ) + (unreachable) + ) + ) + (nop) + ) + ) +) + diff --git a/test/threads.fromasm b/test/threads.fromasm index 4d191732c..2c1059dcc 100644 --- a/test/threads.fromasm +++ b/test/threads.fromasm @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "threads.asm.js") (export "test" (func $test)) - (func $test (; 0 ;) + (func $test (; 0 ;) (; has Stack IR ;) (local $0 i32) (drop (i32.atomic.load diff --git a/test/threads.fromasm.clamp b/test/threads.fromasm.clamp index 4d191732c..2c1059dcc 100644 --- a/test/threads.fromasm.clamp +++ b/test/threads.fromasm.clamp @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "threads.asm.js") (export "test" (func $test)) - (func $test (; 0 ;) + (func $test (; 0 ;) (; has Stack IR ;) (local $0 i32) (drop (i32.atomic.load diff --git a/test/threads.fromasm.imprecise b/test/threads.fromasm.imprecise index c8967ab2e..a35be0f7d 100644 --- a/test/threads.fromasm.imprecise +++ b/test/threads.fromasm.imprecise @@ -1,7 +1,7 @@ (module (import "env" "memory" (memory $0 (shared 256 256))) (export "test" (func $test)) - (func $test (; 0 ;) + (func $test (; 0 ;) (; has Stack IR ;) (local $0 i32) (drop (i32.atomic.load diff --git a/test/threads.wasm-only.fromasm b/test/threads.wasm-only.fromasm index f633af016..4a692c18c 100644 --- a/test/threads.wasm-only.fromasm +++ b/test/threads.wasm-only.fromasm @@ -6,7 +6,7 @@ (export "test64" (func $legalstub$test64)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) - (func $test64 (; 0 ;) (result i64) + (func $test64 (; 0 ;) (; has Stack IR ;) (result i64) (local $0 i64) (local $1 i64) (local $2 i32) @@ -50,7 +50,7 @@ ) (get_local $1) ) - (func $legalstub$test64 (; 1 ;) (result i32) + (func $legalstub$test64 (; 1 ;) (; has Stack IR ;) (result i32) (local $0 i64) (set_local $0 (call $test64) @@ -67,10 +67,10 @@ (get_local $0) ) ) - (func $getTempRet0 (; 2 ;) (result i32) + (func $getTempRet0 (; 2 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $setTempRet0 (; 3 ;) (param $0 i32) + (func $setTempRet0 (; 3 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) diff --git a/test/threads.wasm-only.fromasm.clamp b/test/threads.wasm-only.fromasm.clamp index f633af016..4a692c18c 100644 --- a/test/threads.wasm-only.fromasm.clamp +++ b/test/threads.wasm-only.fromasm.clamp @@ -6,7 +6,7 @@ (export "test64" (func $legalstub$test64)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) - (func $test64 (; 0 ;) (result i64) + (func $test64 (; 0 ;) (; has Stack IR ;) (result i64) (local $0 i64) (local $1 i64) (local $2 i32) @@ -50,7 +50,7 @@ ) (get_local $1) ) - (func $legalstub$test64 (; 1 ;) (result i32) + (func $legalstub$test64 (; 1 ;) (; has Stack IR ;) (result i32) (local $0 i64) (set_local $0 (call $test64) @@ -67,10 +67,10 @@ (get_local $0) ) ) - (func $getTempRet0 (; 2 ;) (result i32) + (func $getTempRet0 (; 2 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $setTempRet0 (; 3 ;) (param $0 i32) + (func $setTempRet0 (; 3 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) diff --git a/test/threads.wasm-only.fromasm.imprecise b/test/threads.wasm-only.fromasm.imprecise index 2c6fa3f18..446dc7f7a 100644 --- a/test/threads.wasm-only.fromasm.imprecise +++ b/test/threads.wasm-only.fromasm.imprecise @@ -4,7 +4,7 @@ (export "test64" (func $legalstub$test64)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) - (func $test64 (; 0 ;) (result i64) + (func $test64 (; 0 ;) (; has Stack IR ;) (result i64) (local $0 i64) (local $1 i64) (local $2 i32) @@ -48,7 +48,7 @@ ) (get_local $1) ) - (func $legalstub$test64 (; 1 ;) (result i32) + (func $legalstub$test64 (; 1 ;) (; has Stack IR ;) (result i32) (local $0 i64) (set_local $0 (call $test64) @@ -65,10 +65,10 @@ (get_local $0) ) ) - (func $getTempRet0 (; 2 ;) (result i32) + (func $getTempRet0 (; 2 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $setTempRet0 (; 3 ;) (param $0 i32) + (func $setTempRet0 (; 3 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm index 57d11e478..af5ff5386 100644 --- a/test/two_sides.fromasm +++ b/test/two_sides.fromasm @@ -5,7 +5,7 @@ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32))) (data (get_global $memoryBase) "two_sides.asm.js") (export "_test" (func $_test)) - (func $_test (; 1 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_test (; 1 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 f64) (if (result i32) (get_local $4) diff --git a/test/two_sides.fromasm.clamp b/test/two_sides.fromasm.clamp index de51f2281..c21a6b868 100644 --- a/test/two_sides.fromasm.clamp +++ b/test/two_sides.fromasm.clamp @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "two_sides.asm.js") (export "_test" (func $_test)) - (func $f64-to-int (; 0 ;) (param $0 f64) (result i32) + (func $f64-to-int (; 0 ;) (; has Stack IR ;) (param $0 f64) (result i32) (if (result i32) (f64.ne (get_local $0) @@ -29,7 +29,7 @@ ) ) ) - (func $_test (; 1 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_test (; 1 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 f64) (if (result i32) (get_local $4) diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise index c4dbbb386..9115e679a 100644 --- a/test/two_sides.fromasm.imprecise +++ b/test/two_sides.fromasm.imprecise @@ -1,6 +1,6 @@ (module (export "_test" (func $_test)) - (func $_test (; 0 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $_test (; 0 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 f64) (if (result i32) (get_local $4) diff --git a/test/unit.fromasm b/test/unit.fromasm index bddac1e56..edefbfff7 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -77,10 +77,10 @@ (export "relocatableAndModules" (func $relocatableAndModules)) (export "exported_f32_user" (func $legalstub$exported_f32_user)) (export "keepAlive" (func $keepAlive)) - (func $big_negative (; 8 ;) + (func $big_negative (; 8 ;) (; has Stack IR ;) (nop) ) - (func $importedDoubles (; 9 ;) (result f64) + (func $importedDoubles (; 9 ;) (; has Stack IR ;) (result f64) (if (i32.gt_s (get_global $Int) @@ -101,7 +101,7 @@ ) (f64.const 1.2) ) - (func $doubleCompares (; 10 ;) (param $0 f64) (param $1 f64) (result f64) + (func $doubleCompares (; 10 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (result f64) (if (f64.gt (get_local $0) @@ -140,12 +140,12 @@ ) (get_local $1) ) - (func $intOps (; 11 ;) (param $0 i32) (result i32) + (func $intOps (; 11 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.eqz (get_local $0) ) ) - (func $switcher (; 12 ;) (param $0 i32) (result i32) + (func $switcher (; 12 ;) (; has Stack IR ;) (param $0 i32) (result i32) (block $switch (block $switch-case0 (block $switch-case @@ -224,22 +224,22 @@ ) (i32.const 0) ) - (func $frem (; 13 ;) (result f64) + (func $frem (; 13 ;) (; has Stack IR ;) (result f64) (call $f64-rem (f64.const 5.5) (f64.const 1.2) ) ) - (func $big_uint_div_u (; 14 ;) (result i32) + (func $big_uint_div_u (; 14 ;) (; has Stack IR ;) (result i32) (i32.const 2147483647) ) - (func $trapping_sint_div_s (; 15 ;) (result i32) + (func $trapping_sint_div_s (; 15 ;) (; has Stack IR ;) (result i32) (i32.const 0) ) - (func $negZero (; 16 ;) (result f64) + (func $negZero (; 16 ;) (; has Stack IR ;) (result f64) (f64.const -0) ) - (func $neg (; 17 ;) + (func $neg (; 17 ;) (; has Stack IR ;) (local $0 f32) (call_indirect (type $FUNCSIG$vf) (f32.neg @@ -248,13 +248,13 @@ (i32.const 9) ) ) - (func $cneg (; 18 ;) (param $0 f32) + (func $cneg (; 18 ;) (; has Stack IR ;) (param $0 f32) (call_indirect (type $FUNCSIG$vf) (get_local $0) (i32.const 9) ) ) - (func $smallCompare (; 19 ;) (param $0 i32) (param $1 i32) (result i32) + (func $smallCompare (; 19 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (i32.lt_s (get_local $0) @@ -281,13 +281,13 @@ ) (get_local $0) ) - (func $cneg_nosemicolon (; 20 ;) + (func $cneg_nosemicolon (; 20 ;) (; has Stack IR ;) (call_indirect (type $FUNCSIG$vi) (i32.const 1) (i32.const 17) ) ) - (func $forLoop (; 21 ;) + (func $forLoop (; 21 ;) (; has Stack IR ;) (local $0 i32) (set_local $0 (i32.const 1) @@ -313,7 +313,7 @@ ) ) ) - (func $aborts (; 22 ;) + (func $aborts (; 22 ;) (; has Stack IR ;) (drop (call $abort (f64.const 0) @@ -342,7 +342,7 @@ ) ) ) - (func $continues (; 23 ;) + (func $continues (; 23 ;) (; has Stack IR ;) (loop $while-in (call $print (i32.const 1) @@ -361,7 +361,7 @@ (br $while-in) ) ) - (func $recursiveBlockMerging (; 24 ;) (param $0 i32) (result i32) + (func $recursiveBlockMerging (; 24 ;) (; has Stack IR ;) (param $0 i32) (result i32) (drop (call $lb (i32.add @@ -436,7 +436,7 @@ ) ) ) - (func $lb (; 25 ;) (param $0 i32) (result i32) + (func $lb (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.store (get_local $0) (i32.add @@ -446,7 +446,7 @@ ) (i32.const 0) ) - (func $zeroInit (; 26 ;) (param $0 i32) + (func $zeroInit (; 26 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (if (call $lb @@ -476,7 +476,7 @@ ) ) ) - (func $phi (; 27 ;) (result i32) + (func $phi (; 27 ;) (; has Stack IR ;) (result i32) (block $do-once (result i32) (drop (br_if $do-once @@ -489,7 +489,7 @@ (i32.const 1) ) ) - (func $smallIf (; 28 ;) + (func $smallIf (; 28 ;) (; has Stack IR ;) (if (call $return_int) (drop @@ -499,7 +499,7 @@ ) ) ) - (func $dropCall (; 29 ;) (result i32) + (func $dropCall (; 29 ;) (; has Stack IR ;) (result i32) (if (call $return_int) (block @@ -520,7 +520,7 @@ ) (call $phi) ) - (func $useSetGlobal (; 30 ;) (result i32) + (func $useSetGlobal (; 30 ;) (; has Stack IR ;) (result i32) (set_global $Int (i32.const 10) ) @@ -532,13 +532,13 @@ ) (get_global $Int) ) - (func $usesSetGlobal2 (; 31 ;) (result i32) + (func $usesSetGlobal2 (; 31 ;) (; has Stack IR ;) (result i32) (set_global $Int (i32.const 40) ) (i32.const 50) ) - (func $breakThroughMany (; 32 ;) (param $0 i32) + (func $breakThroughMany (; 32 ;) (; has Stack IR ;) (param $0 i32) (block $label$break$L1 (if (get_local $0) @@ -556,7 +556,7 @@ ) ) ) - (func $ifChainEmpty (; 33 ;) (param $0 i32) (result i32) + (func $ifChainEmpty (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (i32.eq (get_local $0) @@ -568,12 +568,12 @@ ) (i32.const 0) ) - (func $heap8NoShift (; 34 ;) (param $0 i32) (result i32) + (func $heap8NoShift (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.load8_s (get_local $0) ) ) - (func $conditionalTypeFun (; 35 ;) + (func $conditionalTypeFun (; 35 ;) (; has Stack IR ;) (drop (if (result i32) (call $return_int) @@ -599,7 +599,7 @@ ) ) ) - (func $loadSigned (; 36 ;) (param $0 i32) + (func $loadSigned (; 36 ;) (; has Stack IR ;) (param $0 i32) (call $loadSigned (i32.load8_s (get_local $0) @@ -665,13 +665,13 @@ ) ) ) - (func $z (; 37 ;) (param $0 f32) + (func $z (; 37 ;) (; has Stack IR ;) (param $0 f32) (nop) ) - (func $w (; 38 ;) (result f64) + (func $w (; 38 ;) (; has Stack IR ;) (result f64) (f64.const 0) ) - (func $globalOpts (; 39 ;) + (func $globalOpts (; 39 ;) (; has Stack IR ;) (local $0 i32) (i32.store8 (i32.const 13) @@ -701,7 +701,7 @@ (get_local $0) ) ) - (func $dropCallImport (; 40 ;) + (func $dropCallImport (; 40 ;) (; has Stack IR ;) (if (call $return_int) (drop @@ -709,7 +709,7 @@ ) ) ) - (func $loophi (; 41 ;) (param $0 i32) (param $1 i32) + (func $loophi (; 41 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (local $2 i32) (loop $while-in (block $while-out @@ -739,7 +739,7 @@ ) ) ) - (func $loophi2 (; 42 ;) (result i32) + (func $loophi2 (; 42 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -772,7 +772,7 @@ ) (get_local $1) ) - (func $loophi2b (; 43 ;) (result i32) + (func $loophi2b (; 43 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (loop $label$continue$L7 @@ -804,7 +804,7 @@ ) (get_local $0) ) - (func $relooperJumpThreading (; 44 ;) (param $0 i32) (result i32) + (func $relooperJumpThreading (; 44 ;) (; has Stack IR ;) (param $0 i32) (result i32) (block $__rjto$0 (block $__rjti$0 (if @@ -973,7 +973,7 @@ ) (get_local $0) ) - (func $relooperJumpThreading__ZN4game14preloadweaponsEv (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) + (func $relooperJumpThreading__ZN4game14preloadweaponsEv (; 45 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (loop $while-in (block $__rjto$1 (block $__rjti$1 @@ -1000,7 +1000,7 @@ (br $while-in) ) ) - (func $relooperJumpThreading_irreducible (; 46 ;) (param $0 i32) + (func $relooperJumpThreading_irreducible (; 46 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (if (i32.eq @@ -1052,7 +1052,7 @@ ) ) ) - (func $__Z12multi_varargiz (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $__Z12multi_varargiz (; 47 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (if (get_local $3) (loop $while-in @@ -1069,10 +1069,10 @@ ) ) ) - (func $jumpThreadDrop (; 48 ;) (result i32) + (func $jumpThreadDrop (; 48 ;) (; has Stack IR ;) (result i32) (call $return_int) ) - (func $dropIgnoredImportInIf (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $dropIgnoredImportInIf (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (if (get_local $0) (drop @@ -1082,7 +1082,7 @@ ) ) ) - (func $dropIgnoredImportsInIf (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $dropIgnoredImportsInIf (; 50 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (drop (if (result i32) (get_local $0) @@ -1095,7 +1095,7 @@ ) ) ) - (func $store_fround (; 51 ;) (param $0 i32) + (func $store_fround (; 51 ;) (; has Stack IR ;) (param $0 i32) (f64.store (i32.const 80) (f64.promote/f32 @@ -1105,7 +1105,7 @@ ) ) ) - (func $relocatableAndModules (; 52 ;) (result i32) + (func $relocatableAndModules (; 52 ;) (; has Stack IR ;) (result i32) (call_indirect (type $FUNCSIG$v) (i32.const 10) ) @@ -1118,7 +1118,7 @@ (i32.const 30) ) ) - (func $sqrts (; 53 ;) (param $0 f64) (result f64) + (func $sqrts (; 53 ;) (; has Stack IR ;) (param $0 f64) (result f64) (f64.add (f64.sqrt (get_local $0) @@ -1132,7 +1132,7 @@ ) ) ) - (func $keepAlive (; 54 ;) + (func $keepAlive (; 54 ;) (; has Stack IR ;) (drop (call $sqrts (f64.const 3.14159) @@ -1181,13 +1181,13 @@ ) ) ) - (func $vi (; 55 ;) (param $0 i32) + (func $vi (; 55 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $ii (; 56 ;) (param $0 i32) (result i32) + (func $ii (; 56 ;) (; has Stack IR ;) (param $0 i32) (result i32) (get_local $0) ) - (func $legalstub$conversions (; 57 ;) (param $0 i32) (param $1 f64) (param $2 f64) + (func $legalstub$conversions (; 57 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (drop (call $f64-to-int (get_local $1) @@ -1203,7 +1203,7 @@ ) ) ) - (func $legalstub$frem_float (; 58 ;) (result f64) + (func $legalstub$frem_float (; 58 ;) (; has Stack IR ;) (result f64) (f64.promote/f32 (f32.demote/f64 (call $f64-rem @@ -1213,16 +1213,16 @@ ) ) ) - (func $legalstub$fr (; 59 ;) (param $0 f64) + (func $legalstub$fr (; 59 ;) (; has Stack IR ;) (param $0 f64) (nop) ) - (func $legalstub$ceiling_32_64 (; 60 ;) (param $0 f64) (param $1 f64) + (func $legalstub$ceiling_32_64 (; 60 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (nop) ) - (func $legalstub$bitcasts (; 61 ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) - (func $legalstub$exported_f32_user (; 62 ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) + (func $legalstub$exported_f32_user (; 62 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) (f64.promote/f32 (f32.demote/f64 (get_local $1) diff --git a/test/unit.fromasm.clamp b/test/unit.fromasm.clamp index 501fa7145..ee2c395df 100644 --- a/test/unit.fromasm.clamp +++ b/test/unit.fromasm.clamp @@ -75,10 +75,10 @@ (export "relocatableAndModules" (func $relocatableAndModules)) (export "exported_f32_user" (func $legalstub$exported_f32_user)) (export "keepAlive" (func $keepAlive)) - (func $big_negative (; 7 ;) + (func $big_negative (; 7 ;) (; has Stack IR ;) (nop) ) - (func $importedDoubles (; 8 ;) (result f64) + (func $importedDoubles (; 8 ;) (; has Stack IR ;) (result f64) (if (i32.gt_s (get_global $Int) @@ -99,7 +99,7 @@ ) (f64.const 1.2) ) - (func $doubleCompares (; 9 ;) (param $0 f64) (param $1 f64) (result f64) + (func $doubleCompares (; 9 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (result f64) (if (f64.gt (get_local $0) @@ -138,12 +138,12 @@ ) (get_local $1) ) - (func $intOps (; 10 ;) (param $0 i32) (result i32) + (func $intOps (; 10 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.eqz (get_local $0) ) ) - (func $f64-to-int (; 11 ;) (param $0 f64) (result i32) + (func $f64-to-int (; 11 ;) (; has Stack IR ;) (param $0 f64) (result i32) (if (result i32) (f64.ne (get_local $0) @@ -169,7 +169,7 @@ ) ) ) - (func $f32-to-int (; 12 ;) (param $0 f32) (result i32) + (func $f32-to-int (; 12 ;) (; has Stack IR ;) (param $0 f32) (result i32) (if (result i32) (f32.ne (get_local $0) @@ -195,7 +195,7 @@ ) ) ) - (func $switcher (; 13 ;) (param $0 i32) (result i32) + (func $switcher (; 13 ;) (; has Stack IR ;) (param $0 i32) (result i32) (block $switch (block $switch-case0 (block $switch-case @@ -274,22 +274,22 @@ ) (i32.const 0) ) - (func $frem (; 14 ;) (result f64) + (func $frem (; 14 ;) (; has Stack IR ;) (result f64) (call $f64-rem (f64.const 5.5) (f64.const 1.2) ) ) - (func $big_uint_div_u (; 15 ;) (result i32) + (func $big_uint_div_u (; 15 ;) (; has Stack IR ;) (result i32) (i32.const 2147483647) ) - (func $trapping_sint_div_s (; 16 ;) (result i32) + (func $trapping_sint_div_s (; 16 ;) (; has Stack IR ;) (result i32) (i32.const 0) ) - (func $negZero (; 17 ;) (result f64) + (func $negZero (; 17 ;) (; has Stack IR ;) (result f64) (f64.const -0) ) - (func $neg (; 18 ;) + (func $neg (; 18 ;) (; has Stack IR ;) (local $0 f32) (call_indirect (type $FUNCSIG$vf) (f32.neg @@ -298,13 +298,13 @@ (i32.const 9) ) ) - (func $cneg (; 19 ;) (param $0 f32) + (func $cneg (; 19 ;) (; has Stack IR ;) (param $0 f32) (call_indirect (type $FUNCSIG$vf) (get_local $0) (i32.const 9) ) ) - (func $smallCompare (; 20 ;) (param $0 i32) (param $1 i32) (result i32) + (func $smallCompare (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (i32.lt_s (get_local $0) @@ -331,13 +331,13 @@ ) (get_local $0) ) - (func $cneg_nosemicolon (; 21 ;) + (func $cneg_nosemicolon (; 21 ;) (; has Stack IR ;) (call_indirect (type $FUNCSIG$vi) (i32.const 1) (i32.const 17) ) ) - (func $forLoop (; 22 ;) + (func $forLoop (; 22 ;) (; has Stack IR ;) (local $0 i32) (set_local $0 (i32.const 1) @@ -363,7 +363,7 @@ ) ) ) - (func $aborts (; 23 ;) + (func $aborts (; 23 ;) (; has Stack IR ;) (drop (call $abort (f64.const 0) @@ -392,7 +392,7 @@ ) ) ) - (func $continues (; 24 ;) + (func $continues (; 24 ;) (; has Stack IR ;) (loop $while-in (call $print (i32.const 1) @@ -411,7 +411,7 @@ (br $while-in) ) ) - (func $recursiveBlockMerging (; 25 ;) (param $0 i32) (result i32) + (func $recursiveBlockMerging (; 25 ;) (; has Stack IR ;) (param $0 i32) (result i32) (drop (call $lb (i32.add @@ -486,7 +486,7 @@ ) ) ) - (func $lb (; 26 ;) (param $0 i32) (result i32) + (func $lb (; 26 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.store (get_local $0) (i32.add @@ -496,7 +496,7 @@ ) (i32.const 0) ) - (func $zeroInit (; 27 ;) (param $0 i32) + (func $zeroInit (; 27 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (if (call $lb @@ -526,7 +526,7 @@ ) ) ) - (func $phi (; 28 ;) (result i32) + (func $phi (; 28 ;) (; has Stack IR ;) (result i32) (block $do-once (result i32) (drop (br_if $do-once @@ -539,7 +539,7 @@ (i32.const 1) ) ) - (func $smallIf (; 29 ;) + (func $smallIf (; 29 ;) (; has Stack IR ;) (if (call $return_int) (drop @@ -549,7 +549,7 @@ ) ) ) - (func $dropCall (; 30 ;) (result i32) + (func $dropCall (; 30 ;) (; has Stack IR ;) (result i32) (if (call $return_int) (block @@ -570,7 +570,7 @@ ) (call $phi) ) - (func $useSetGlobal (; 31 ;) (result i32) + (func $useSetGlobal (; 31 ;) (; has Stack IR ;) (result i32) (set_global $Int (i32.const 10) ) @@ -582,13 +582,13 @@ ) (get_global $Int) ) - (func $usesSetGlobal2 (; 32 ;) (result i32) + (func $usesSetGlobal2 (; 32 ;) (; has Stack IR ;) (result i32) (set_global $Int (i32.const 40) ) (i32.const 50) ) - (func $breakThroughMany (; 33 ;) (param $0 i32) + (func $breakThroughMany (; 33 ;) (; has Stack IR ;) (param $0 i32) (block $label$break$L1 (if (get_local $0) @@ -606,7 +606,7 @@ ) ) ) - (func $ifChainEmpty (; 34 ;) (param $0 i32) (result i32) + (func $ifChainEmpty (; 34 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (i32.eq (get_local $0) @@ -618,12 +618,12 @@ ) (i32.const 0) ) - (func $heap8NoShift (; 35 ;) (param $0 i32) (result i32) + (func $heap8NoShift (; 35 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.load8_s (get_local $0) ) ) - (func $conditionalTypeFun (; 36 ;) + (func $conditionalTypeFun (; 36 ;) (; has Stack IR ;) (drop (if (result i32) (call $return_int) @@ -649,7 +649,7 @@ ) ) ) - (func $loadSigned (; 37 ;) (param $0 i32) + (func $loadSigned (; 37 ;) (; has Stack IR ;) (param $0 i32) (call $loadSigned (i32.load8_s (get_local $0) @@ -715,13 +715,13 @@ ) ) ) - (func $z (; 38 ;) (param $0 f32) + (func $z (; 38 ;) (; has Stack IR ;) (param $0 f32) (nop) ) - (func $w (; 39 ;) (result f64) + (func $w (; 39 ;) (; has Stack IR ;) (result f64) (f64.const 0) ) - (func $globalOpts (; 40 ;) + (func $globalOpts (; 40 ;) (; has Stack IR ;) (local $0 i32) (i32.store8 (i32.const 13) @@ -751,7 +751,7 @@ (get_local $0) ) ) - (func $dropCallImport (; 41 ;) + (func $dropCallImport (; 41 ;) (; has Stack IR ;) (if (call $return_int) (drop @@ -759,7 +759,7 @@ ) ) ) - (func $loophi (; 42 ;) (param $0 i32) (param $1 i32) + (func $loophi (; 42 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (local $2 i32) (loop $while-in (block $while-out @@ -789,7 +789,7 @@ ) ) ) - (func $loophi2 (; 43 ;) (result i32) + (func $loophi2 (; 43 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -822,7 +822,7 @@ ) (get_local $1) ) - (func $loophi2b (; 44 ;) (result i32) + (func $loophi2b (; 44 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (loop $label$continue$L7 @@ -854,7 +854,7 @@ ) (get_local $0) ) - (func $relooperJumpThreading (; 45 ;) (param $0 i32) (result i32) + (func $relooperJumpThreading (; 45 ;) (; has Stack IR ;) (param $0 i32) (result i32) (block $__rjto$0 (block $__rjti$0 (if @@ -1023,7 +1023,7 @@ ) (get_local $0) ) - (func $relooperJumpThreading__ZN4game14preloadweaponsEv (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) + (func $relooperJumpThreading__ZN4game14preloadweaponsEv (; 46 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (loop $while-in (block $__rjto$1 (block $__rjti$1 @@ -1050,7 +1050,7 @@ (br $while-in) ) ) - (func $relooperJumpThreading_irreducible (; 47 ;) (param $0 i32) + (func $relooperJumpThreading_irreducible (; 47 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (if (i32.eq @@ -1102,7 +1102,7 @@ ) ) ) - (func $__Z12multi_varargiz (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $__Z12multi_varargiz (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (if (get_local $3) (loop $while-in @@ -1119,10 +1119,10 @@ ) ) ) - (func $jumpThreadDrop (; 49 ;) (result i32) + (func $jumpThreadDrop (; 49 ;) (; has Stack IR ;) (result i32) (call $return_int) ) - (func $dropIgnoredImportInIf (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $dropIgnoredImportInIf (; 50 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (if (get_local $0) (drop @@ -1132,7 +1132,7 @@ ) ) ) - (func $dropIgnoredImportsInIf (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $dropIgnoredImportsInIf (; 51 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (drop (if (result i32) (get_local $0) @@ -1145,7 +1145,7 @@ ) ) ) - (func $store_fround (; 52 ;) (param $0 i32) + (func $store_fround (; 52 ;) (; has Stack IR ;) (param $0 i32) (f64.store (i32.const 80) (f64.promote/f32 @@ -1155,7 +1155,7 @@ ) ) ) - (func $relocatableAndModules (; 53 ;) (result i32) + (func $relocatableAndModules (; 53 ;) (; has Stack IR ;) (result i32) (call_indirect (type $FUNCSIG$v) (i32.const 10) ) @@ -1168,7 +1168,7 @@ (i32.const 30) ) ) - (func $sqrts (; 54 ;) (param $0 f64) (result f64) + (func $sqrts (; 54 ;) (; has Stack IR ;) (param $0 f64) (result f64) (f64.add (f64.sqrt (get_local $0) @@ -1182,7 +1182,7 @@ ) ) ) - (func $f64-to-uint (; 55 ;) (param $0 f64) (result i32) + (func $f64-to-uint (; 55 ;) (; has Stack IR ;) (param $0 f64) (result i32) (if (result i32) (f64.ne (get_local $0) @@ -1208,7 +1208,7 @@ ) ) ) - (func $keepAlive (; 56 ;) + (func $keepAlive (; 56 ;) (; has Stack IR ;) (drop (call $sqrts (f64.const 3.14159) @@ -1257,13 +1257,13 @@ ) ) ) - (func $vi (; 57 ;) (param $0 i32) + (func $vi (; 57 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $ii (; 58 ;) (param $0 i32) (result i32) + (func $ii (; 58 ;) (; has Stack IR ;) (param $0 i32) (result i32) (get_local $0) ) - (func $legalstub$conversions (; 59 ;) (param $0 i32) (param $1 f64) (param $2 f64) + (func $legalstub$conversions (; 59 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (drop (call $f64-to-int (get_local $1) @@ -1277,7 +1277,7 @@ ) ) ) - (func $legalstub$frem_float (; 60 ;) (result f64) + (func $legalstub$frem_float (; 60 ;) (; has Stack IR ;) (result f64) (f64.promote/f32 (f32.demote/f64 (call $f64-rem @@ -1287,16 +1287,16 @@ ) ) ) - (func $legalstub$fr (; 61 ;) (param $0 f64) + (func $legalstub$fr (; 61 ;) (; has Stack IR ;) (param $0 f64) (nop) ) - (func $legalstub$ceiling_32_64 (; 62 ;) (param $0 f64) (param $1 f64) + (func $legalstub$ceiling_32_64 (; 62 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (nop) ) - (func $legalstub$bitcasts (; 63 ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 63 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) - (func $legalstub$exported_f32_user (; 64 ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) + (func $legalstub$exported_f32_user (; 64 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) (f64.promote/f32 (f32.demote/f64 (get_local $1) diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise index bc293072a..b8f679fb4 100644 --- a/test/unit.fromasm.imprecise +++ b/test/unit.fromasm.imprecise @@ -73,10 +73,10 @@ (export "relocatableAndModules" (func $relocatableAndModules)) (export "exported_f32_user" (func $legalstub$exported_f32_user)) (export "keepAlive" (func $keepAlive)) - (func $big_negative (; 7 ;) + (func $big_negative (; 7 ;) (; has Stack IR ;) (nop) ) - (func $importedDoubles (; 8 ;) (result f64) + (func $importedDoubles (; 8 ;) (; has Stack IR ;) (result f64) (if (i32.gt_s (get_global $Int) @@ -97,7 +97,7 @@ ) (f64.const 1.2) ) - (func $doubleCompares (; 9 ;) (param $0 f64) (param $1 f64) (result f64) + (func $doubleCompares (; 9 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (result f64) (if (f64.gt (get_local $0) @@ -136,12 +136,12 @@ ) (get_local $1) ) - (func $intOps (; 10 ;) (param $0 i32) (result i32) + (func $intOps (; 10 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.eqz (get_local $0) ) ) - (func $switcher (; 11 ;) (param $0 i32) (result i32) + (func $switcher (; 11 ;) (; has Stack IR ;) (param $0 i32) (result i32) (block $switch (block $switch-case0 (block $switch-case @@ -220,25 +220,25 @@ ) (i32.const 0) ) - (func $frem (; 12 ;) (result f64) + (func $frem (; 12 ;) (; has Stack IR ;) (result f64) (call $f64-rem (f64.const 5.5) (f64.const 1.2) ) ) - (func $big_uint_div_u (; 13 ;) (result i32) + (func $big_uint_div_u (; 13 ;) (; has Stack IR ;) (result i32) (i32.const 2147483647) ) - (func $trapping_sint_div_s (; 14 ;) (result i32) + (func $trapping_sint_div_s (; 14 ;) (; has Stack IR ;) (result i32) (i32.div_s (i32.const -2147483648) (i32.const -1) ) ) - (func $negZero (; 15 ;) (result f64) + (func $negZero (; 15 ;) (; has Stack IR ;) (result f64) (f64.const -0) ) - (func $neg (; 16 ;) + (func $neg (; 16 ;) (; has Stack IR ;) (local $0 f32) (call_indirect (type $FUNCSIG$vf) (f32.neg @@ -247,13 +247,13 @@ (i32.const 9) ) ) - (func $cneg (; 17 ;) (param $0 f32) + (func $cneg (; 17 ;) (; has Stack IR ;) (param $0 f32) (call_indirect (type $FUNCSIG$vf) (get_local $0) (i32.const 9) ) ) - (func $smallCompare (; 18 ;) (param $0 i32) (param $1 i32) (result i32) + (func $smallCompare (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (if (i32.lt_s (get_local $0) @@ -280,13 +280,13 @@ ) (get_local $0) ) - (func $cneg_nosemicolon (; 19 ;) + (func $cneg_nosemicolon (; 19 ;) (; has Stack IR ;) (call_indirect (type $FUNCSIG$vi) (i32.const 1) (i32.const 17) ) ) - (func $forLoop (; 20 ;) + (func $forLoop (; 20 ;) (; has Stack IR ;) (local $0 i32) (set_local $0 (i32.const 1) @@ -312,7 +312,7 @@ ) ) ) - (func $aborts (; 21 ;) + (func $aborts (; 21 ;) (; has Stack IR ;) (drop (call $abort (f64.const 0) @@ -341,7 +341,7 @@ ) ) ) - (func $continues (; 22 ;) + (func $continues (; 22 ;) (; has Stack IR ;) (loop $while-in (call $print (i32.const 1) @@ -360,7 +360,7 @@ (br $while-in) ) ) - (func $recursiveBlockMerging (; 23 ;) (param $0 i32) (result i32) + (func $recursiveBlockMerging (; 23 ;) (; has Stack IR ;) (param $0 i32) (result i32) (drop (call $lb (i32.add @@ -435,7 +435,7 @@ ) ) ) - (func $lb (; 24 ;) (param $0 i32) (result i32) + (func $lb (; 24 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.store (get_local $0) (i32.add @@ -445,7 +445,7 @@ ) (i32.const 0) ) - (func $zeroInit (; 25 ;) (param $0 i32) + (func $zeroInit (; 25 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (if (call $lb @@ -475,7 +475,7 @@ ) ) ) - (func $phi (; 26 ;) (result i32) + (func $phi (; 26 ;) (; has Stack IR ;) (result i32) (block $do-once (result i32) (drop (br_if $do-once @@ -488,7 +488,7 @@ (i32.const 1) ) ) - (func $smallIf (; 27 ;) + (func $smallIf (; 27 ;) (; has Stack IR ;) (if (call $return_int) (drop @@ -498,7 +498,7 @@ ) ) ) - (func $dropCall (; 28 ;) (result i32) + (func $dropCall (; 28 ;) (; has Stack IR ;) (result i32) (if (call $return_int) (block @@ -519,7 +519,7 @@ ) (call $phi) ) - (func $useSetGlobal (; 29 ;) (result i32) + (func $useSetGlobal (; 29 ;) (; has Stack IR ;) (result i32) (set_global $Int (i32.const 10) ) @@ -531,13 +531,13 @@ ) (get_global $Int) ) - (func $usesSetGlobal2 (; 30 ;) (result i32) + (func $usesSetGlobal2 (; 30 ;) (; has Stack IR ;) (result i32) (set_global $Int (i32.const 40) ) (i32.const 50) ) - (func $breakThroughMany (; 31 ;) (param $0 i32) + (func $breakThroughMany (; 31 ;) (; has Stack IR ;) (param $0 i32) (block $label$break$L1 (if (get_local $0) @@ -555,7 +555,7 @@ ) ) ) - (func $ifChainEmpty (; 32 ;) (param $0 i32) (result i32) + (func $ifChainEmpty (; 32 ;) (; has Stack IR ;) (param $0 i32) (result i32) (if (i32.eq (get_local $0) @@ -567,12 +567,12 @@ ) (i32.const 0) ) - (func $heap8NoShift (; 33 ;) (param $0 i32) (result i32) + (func $heap8NoShift (; 33 ;) (; has Stack IR ;) (param $0 i32) (result i32) (i32.load8_s (get_local $0) ) ) - (func $conditionalTypeFun (; 34 ;) + (func $conditionalTypeFun (; 34 ;) (; has Stack IR ;) (drop (if (result i32) (call $return_int) @@ -598,7 +598,7 @@ ) ) ) - (func $loadSigned (; 35 ;) (param $0 i32) + (func $loadSigned (; 35 ;) (; has Stack IR ;) (param $0 i32) (call $loadSigned (i32.load8_s (get_local $0) @@ -664,13 +664,13 @@ ) ) ) - (func $z (; 36 ;) (param $0 f32) + (func $z (; 36 ;) (; has Stack IR ;) (param $0 f32) (nop) ) - (func $w (; 37 ;) (result f64) + (func $w (; 37 ;) (; has Stack IR ;) (result f64) (f64.const 0) ) - (func $globalOpts (; 38 ;) + (func $globalOpts (; 38 ;) (; has Stack IR ;) (local $0 i32) (i32.store8 (i32.const 13) @@ -700,7 +700,7 @@ (get_local $0) ) ) - (func $dropCallImport (; 39 ;) + (func $dropCallImport (; 39 ;) (; has Stack IR ;) (if (call $return_int) (drop @@ -708,7 +708,7 @@ ) ) ) - (func $loophi (; 40 ;) (param $0 i32) (param $1 i32) + (func $loophi (; 40 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (local $2 i32) (loop $while-in (block $while-out @@ -738,7 +738,7 @@ ) ) ) - (func $loophi2 (; 41 ;) (result i32) + (func $loophi2 (; 41 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -771,7 +771,7 @@ ) (get_local $1) ) - (func $loophi2b (; 42 ;) (result i32) + (func $loophi2b (; 42 ;) (; has Stack IR ;) (result i32) (local $0 i32) (local $1 i32) (loop $label$continue$L7 @@ -803,7 +803,7 @@ ) (get_local $0) ) - (func $relooperJumpThreading (; 43 ;) (param $0 i32) (result i32) + (func $relooperJumpThreading (; 43 ;) (; has Stack IR ;) (param $0 i32) (result i32) (block $__rjto$0 (block $__rjti$0 (if @@ -972,7 +972,7 @@ ) (get_local $0) ) - (func $relooperJumpThreading__ZN4game14preloadweaponsEv (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) + (func $relooperJumpThreading__ZN4game14preloadweaponsEv (; 44 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (loop $while-in (block $__rjto$1 (block $__rjti$1 @@ -999,7 +999,7 @@ (br $while-in) ) ) - (func $relooperJumpThreading_irreducible (; 45 ;) (param $0 i32) + (func $relooperJumpThreading_irreducible (; 45 ;) (; has Stack IR ;) (param $0 i32) (local $1 i32) (if (i32.eq @@ -1051,7 +1051,7 @@ ) ) ) - (func $__Z12multi_varargiz (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $__Z12multi_varargiz (; 46 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (if (get_local $3) (loop $while-in @@ -1068,10 +1068,10 @@ ) ) ) - (func $jumpThreadDrop (; 47 ;) (result i32) + (func $jumpThreadDrop (; 47 ;) (; has Stack IR ;) (result i32) (call $return_int) ) - (func $dropIgnoredImportInIf (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $dropIgnoredImportInIf (; 48 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (if (get_local $0) (drop @@ -1081,7 +1081,7 @@ ) ) ) - (func $dropIgnoredImportsInIf (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $dropIgnoredImportsInIf (; 49 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (drop (if (result i32) (get_local $0) @@ -1094,7 +1094,7 @@ ) ) ) - (func $store_fround (; 50 ;) (param $0 i32) + (func $store_fround (; 50 ;) (; has Stack IR ;) (param $0 i32) (f64.store (i32.const 80) (f64.promote/f32 @@ -1104,7 +1104,7 @@ ) ) ) - (func $relocatableAndModules (; 51 ;) (result i32) + (func $relocatableAndModules (; 51 ;) (; has Stack IR ;) (result i32) (call_indirect (type $FUNCSIG$v) (i32.const 10) ) @@ -1117,7 +1117,7 @@ (i32.const 30) ) ) - (func $sqrts (; 52 ;) (param $0 f64) (result f64) + (func $sqrts (; 52 ;) (; has Stack IR ;) (param $0 f64) (result f64) (f64.add (f64.sqrt (get_local $0) @@ -1131,7 +1131,7 @@ ) ) ) - (func $keepAlive (; 53 ;) + (func $keepAlive (; 53 ;) (; has Stack IR ;) (drop (call $sqrts (f64.const 3.14159) @@ -1168,16 +1168,16 @@ ) ) ) - (func $vi (; 54 ;) (param $0 i32) + (func $vi (; 54 ;) (; has Stack IR ;) (param $0 i32) (nop) ) - (func $ii (; 55 ;) (param $0 i32) (result i32) + (func $ii (; 55 ;) (; has Stack IR ;) (param $0 i32) (result i32) (get_local $0) ) - (func $legalstub$conversions (; 56 ;) (param $0 i32) (param $1 f64) (param $2 f64) + (func $legalstub$conversions (; 56 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (nop) ) - (func $legalstub$frem_float (; 57 ;) (result f64) + (func $legalstub$frem_float (; 57 ;) (; has Stack IR ;) (result f64) (f64.promote/f32 (f32.demote/f64 (call $f64-rem @@ -1187,16 +1187,16 @@ ) ) ) - (func $legalstub$fr (; 58 ;) (param $0 f64) + (func $legalstub$fr (; 58 ;) (; has Stack IR ;) (param $0 f64) (nop) ) - (func $legalstub$ceiling_32_64 (; 59 ;) (param $0 f64) (param $1 f64) + (func $legalstub$ceiling_32_64 (; 59 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (nop) ) - (func $legalstub$bitcasts (; 60 ;) (param $0 i32) (param $1 f64) + (func $legalstub$bitcasts (; 60 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (nop) ) - (func $legalstub$exported_f32_user (; 61 ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) + (func $legalstub$exported_f32_user (; 61 ;) (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result f64) (f64.promote/f32 (f32.demote/f64 (get_local $1) diff --git a/test/unreachable-import_wasm-only.fromasm b/test/unreachable-import_wasm-only.fromasm index f15b613d5..ab59d9b8b 100644 --- a/test/unreachable-import_wasm-only.fromasm +++ b/test/unreachable-import_wasm-only.fromasm @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "unreachable-import_wasm-only.asm.js") (export "__ZN10WasmAssertC2Ev__async_cb" (func $__ZN10WasmAssertC2Ev__async_cb)) - (func $__ZN10WasmAssertC2Ev__async_cb (; 0 ;) (param $0 i32) + (func $__ZN10WasmAssertC2Ev__async_cb (; 0 ;) (; has Stack IR ;) (param $0 i32) (i32.store (i32.const 12) (i32.const 26) diff --git a/test/unreachable-import_wasm-only.fromasm.clamp b/test/unreachable-import_wasm-only.fromasm.clamp index f15b613d5..ab59d9b8b 100644 --- a/test/unreachable-import_wasm-only.fromasm.clamp +++ b/test/unreachable-import_wasm-only.fromasm.clamp @@ -3,7 +3,7 @@ (import "env" "memoryBase" (global $memoryBase i32)) (data (get_global $memoryBase) "unreachable-import_wasm-only.asm.js") (export "__ZN10WasmAssertC2Ev__async_cb" (func $__ZN10WasmAssertC2Ev__async_cb)) - (func $__ZN10WasmAssertC2Ev__async_cb (; 0 ;) (param $0 i32) + (func $__ZN10WasmAssertC2Ev__async_cb (; 0 ;) (; has Stack IR ;) (param $0 i32) (i32.store (i32.const 12) (i32.const 26) diff --git a/test/unreachable-import_wasm-only.fromasm.imprecise b/test/unreachable-import_wasm-only.fromasm.imprecise index c80b32eb0..1f079f7c1 100644 --- a/test/unreachable-import_wasm-only.fromasm.imprecise +++ b/test/unreachable-import_wasm-only.fromasm.imprecise @@ -1,7 +1,7 @@ (module (import "env" "memory" (memory $0 256 256)) (export "__ZN10WasmAssertC2Ev__async_cb" (func $__ZN10WasmAssertC2Ev__async_cb)) - (func $__ZN10WasmAssertC2Ev__async_cb (; 0 ;) (param $0 i32) + (func $__ZN10WasmAssertC2Ev__async_cb (; 0 ;) (; has Stack IR ;) (param $0 i32) (i32.store (i32.const 12) (i32.const 26) diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm index 22414155e..0593e609a 100644 --- a/test/wasm-only.fromasm +++ b/test/wasm-only.fromasm @@ -19,7 +19,7 @@ (export "keepAlive" (func $keepAlive)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) - (func $loads (; 4 ;) + (func $loads (; 4 ;) (; has Stack IR ;) (drop (i32.load8_s (i32.const 100) @@ -131,7 +131,7 @@ ) ) ) - (func $stores (; 5 ;) + (func $stores (; 5 ;) (; has Stack IR ;) (local $0 i32) (local $1 f64) (local $2 f32) @@ -224,7 +224,7 @@ (get_local $1) ) ) - (func $test (; 6 ;) + (func $test (; 6 ;) (; has Stack IR ;) (local $0 f32) (local $1 i32) (set_local $1 @@ -233,7 +233,7 @@ ) ) ) - (func $i64s-div (; 7 ;) (param $0 i64) (param $1 i64) (result i64) + (func $i64s-div (; 7 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (if (result i64) (i64.eqz (get_local $1) @@ -258,7 +258,7 @@ ) ) ) - (func $f32-to-int64 (; 8 ;) (param $0 f32) (result i64) + (func $f32-to-int64 (; 8 ;) (; has Stack IR ;) (param $0 f32) (result i64) (if (result i64) (f32.ne (get_local $0) @@ -284,7 +284,7 @@ ) ) ) - (func $f64-to-int64 (; 9 ;) (param $0 f64) (result i64) + (func $f64-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f64) (result i64) (if (result i64) (f64.ne (get_local $0) @@ -310,7 +310,7 @@ ) ) ) - (func $f32-to-uint64 (; 10 ;) (param $0 f32) (result i64) + (func $f32-to-uint64 (; 10 ;) (; has Stack IR ;) (param $0 f32) (result i64) (if (result i64) (f32.ne (get_local $0) @@ -336,7 +336,7 @@ ) ) ) - (func $f64-to-uint64 (; 11 ;) (param $0 f64) (result i64) + (func $f64-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f64) (result i64) (if (result i64) (f64.ne (get_local $0) @@ -362,7 +362,7 @@ ) ) ) - (func $test64 (; 12 ;) + (func $test64 (; 12 ;) (; has Stack IR ;) (local $0 i64) (local $1 f32) (local $2 f64) @@ -461,7 +461,7 @@ ) ) ) - (func $imports (; 13 ;) (result i64) + (func $imports (; 13 ;) (; has Stack IR ;) (result i64) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) @@ -479,7 +479,7 @@ ) ) ) - (func $arg (; 14 ;) (param $0 i64) + (func $arg (; 14 ;) (; has Stack IR ;) (param $0 i64) (i64.store (i32.const 100) (get_local $0) @@ -488,7 +488,7 @@ (get_local $0) ) ) - (func $illegalParam (; 15 ;) (param $0 i32) (param $1 i64) (param $2 f64) + (func $illegalParam (; 15 ;) (; has Stack IR ;) (param $0 i32) (param $1 i64) (param $2 f64) (i64.store (i32.const 100) (get_local $1) @@ -499,12 +499,12 @@ (f64.const 12.34) ) ) - (func $call1 (; 16 ;) (param $0 i64) (result i64) + (func $call1 (; 16 ;) (; has Stack IR ;) (param $0 i64) (result i64) (call $call1 (get_local $0) ) ) - (func $call2 (; 17 ;) (param $0 i64) (result i64) + (func $call2 (; 17 ;) (; has Stack IR ;) (param $0 i64) (result i64) (drop (call $call2 (call $call2 @@ -514,13 +514,13 @@ ) (i64.const 245127260211081) ) - (func $ifValue32 (; 18 ;) (param $0 i32) (param $1 i32) (result i32) + (func $ifValue32 (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (get_local $0) (get_local $1) ) ) - (func $switch64 (; 19 ;) (param $0 i64) (result i32) + (func $switch64 (; 19 ;) (; has Stack IR ;) (param $0 i64) (result i32) (block $switch (result i32) (block $switch-default (block $switch-case0 @@ -555,7 +555,7 @@ (i32.const 1) ) ) - (func $unreachable_leftovers (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $unreachable_leftovers (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $__rjto$0 (if (i32.eqz @@ -578,7 +578,7 @@ ) ) ) - (func $switch64TOOMUCH (; 21 ;) (param $0 i64) (result i32) + (func $switch64TOOMUCH (; 21 ;) (; has Stack IR ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i64) (block $switch-default @@ -655,7 +655,7 @@ ) (i32.const 44) ) - (func $_memchr (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memchr (; 22 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -886,7 +886,7 @@ (get_local $0) ) ) - (func $keepAlive (; 23 ;) + (func $keepAlive (; 23 ;) (; has Stack IR ;) (call $loads) (call $loads) (call $stores) @@ -980,7 +980,7 @@ ) ) ) - (func $legalstub$illegalParam (; 24 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) + (func $legalstub$illegalParam (; 24 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam (get_local $0) (i64.or @@ -997,13 +997,13 @@ (get_local $3) ) ) - (func $legalstub$illegalResult (; 25 ;) (result i32) + (func $legalstub$illegalResult (; 25 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) (i32.const 1) ) - (func $legalfunc$illegalImport (; 26 ;) (param $0 f64) (param $1 i64) (param $2 i32) + (func $legalfunc$illegalImport (; 26 ;) (; has Stack IR ;) (param $0 f64) (param $1 i64) (param $2 i32) (call $legalimport$illegalImport (get_local $0) (i32.wrap/i64 @@ -1018,7 +1018,7 @@ (get_local $2) ) ) - (func $legalfunc$_fabsf (; 27 ;) (param $0 f32) (result f32) + (func $legalfunc$_fabsf (; 27 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.demote/f64 (call $legalimport$_fabsf (f64.promote/f32 @@ -1027,7 +1027,7 @@ ) ) ) - (func $legalfunc$do_i64 (; 28 ;) (result i64) + (func $legalfunc$do_i64 (; 28 ;) (; has Stack IR ;) (result i64) (i64.or (i64.extend_u/i32 (call $legalimport$do_i64) @@ -1040,10 +1040,10 @@ ) ) ) - (func $getTempRet0 (; 29 ;) (result i32) + (func $getTempRet0 (; 29 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $setTempRet0 (; 30 ;) (param $0 i32) + (func $setTempRet0 (; 30 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp index 22414155e..0593e609a 100644 --- a/test/wasm-only.fromasm.clamp +++ b/test/wasm-only.fromasm.clamp @@ -19,7 +19,7 @@ (export "keepAlive" (func $keepAlive)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) - (func $loads (; 4 ;) + (func $loads (; 4 ;) (; has Stack IR ;) (drop (i32.load8_s (i32.const 100) @@ -131,7 +131,7 @@ ) ) ) - (func $stores (; 5 ;) + (func $stores (; 5 ;) (; has Stack IR ;) (local $0 i32) (local $1 f64) (local $2 f32) @@ -224,7 +224,7 @@ (get_local $1) ) ) - (func $test (; 6 ;) + (func $test (; 6 ;) (; has Stack IR ;) (local $0 f32) (local $1 i32) (set_local $1 @@ -233,7 +233,7 @@ ) ) ) - (func $i64s-div (; 7 ;) (param $0 i64) (param $1 i64) (result i64) + (func $i64s-div (; 7 ;) (; has Stack IR ;) (param $0 i64) (param $1 i64) (result i64) (if (result i64) (i64.eqz (get_local $1) @@ -258,7 +258,7 @@ ) ) ) - (func $f32-to-int64 (; 8 ;) (param $0 f32) (result i64) + (func $f32-to-int64 (; 8 ;) (; has Stack IR ;) (param $0 f32) (result i64) (if (result i64) (f32.ne (get_local $0) @@ -284,7 +284,7 @@ ) ) ) - (func $f64-to-int64 (; 9 ;) (param $0 f64) (result i64) + (func $f64-to-int64 (; 9 ;) (; has Stack IR ;) (param $0 f64) (result i64) (if (result i64) (f64.ne (get_local $0) @@ -310,7 +310,7 @@ ) ) ) - (func $f32-to-uint64 (; 10 ;) (param $0 f32) (result i64) + (func $f32-to-uint64 (; 10 ;) (; has Stack IR ;) (param $0 f32) (result i64) (if (result i64) (f32.ne (get_local $0) @@ -336,7 +336,7 @@ ) ) ) - (func $f64-to-uint64 (; 11 ;) (param $0 f64) (result i64) + (func $f64-to-uint64 (; 11 ;) (; has Stack IR ;) (param $0 f64) (result i64) (if (result i64) (f64.ne (get_local $0) @@ -362,7 +362,7 @@ ) ) ) - (func $test64 (; 12 ;) + (func $test64 (; 12 ;) (; has Stack IR ;) (local $0 i64) (local $1 f32) (local $2 f64) @@ -461,7 +461,7 @@ ) ) ) - (func $imports (; 13 ;) (result i64) + (func $imports (; 13 ;) (; has Stack IR ;) (result i64) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) @@ -479,7 +479,7 @@ ) ) ) - (func $arg (; 14 ;) (param $0 i64) + (func $arg (; 14 ;) (; has Stack IR ;) (param $0 i64) (i64.store (i32.const 100) (get_local $0) @@ -488,7 +488,7 @@ (get_local $0) ) ) - (func $illegalParam (; 15 ;) (param $0 i32) (param $1 i64) (param $2 f64) + (func $illegalParam (; 15 ;) (; has Stack IR ;) (param $0 i32) (param $1 i64) (param $2 f64) (i64.store (i32.const 100) (get_local $1) @@ -499,12 +499,12 @@ (f64.const 12.34) ) ) - (func $call1 (; 16 ;) (param $0 i64) (result i64) + (func $call1 (; 16 ;) (; has Stack IR ;) (param $0 i64) (result i64) (call $call1 (get_local $0) ) ) - (func $call2 (; 17 ;) (param $0 i64) (result i64) + (func $call2 (; 17 ;) (; has Stack IR ;) (param $0 i64) (result i64) (drop (call $call2 (call $call2 @@ -514,13 +514,13 @@ ) (i64.const 245127260211081) ) - (func $ifValue32 (; 18 ;) (param $0 i32) (param $1 i32) (result i32) + (func $ifValue32 (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (get_local $0) (get_local $1) ) ) - (func $switch64 (; 19 ;) (param $0 i64) (result i32) + (func $switch64 (; 19 ;) (; has Stack IR ;) (param $0 i64) (result i32) (block $switch (result i32) (block $switch-default (block $switch-case0 @@ -555,7 +555,7 @@ (i32.const 1) ) ) - (func $unreachable_leftovers (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $unreachable_leftovers (; 20 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $__rjto$0 (if (i32.eqz @@ -578,7 +578,7 @@ ) ) ) - (func $switch64TOOMUCH (; 21 ;) (param $0 i64) (result i32) + (func $switch64TOOMUCH (; 21 ;) (; has Stack IR ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i64) (block $switch-default @@ -655,7 +655,7 @@ ) (i32.const 44) ) - (func $_memchr (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memchr (; 22 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -886,7 +886,7 @@ (get_local $0) ) ) - (func $keepAlive (; 23 ;) + (func $keepAlive (; 23 ;) (; has Stack IR ;) (call $loads) (call $loads) (call $stores) @@ -980,7 +980,7 @@ ) ) ) - (func $legalstub$illegalParam (; 24 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) + (func $legalstub$illegalParam (; 24 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam (get_local $0) (i64.or @@ -997,13 +997,13 @@ (get_local $3) ) ) - (func $legalstub$illegalResult (; 25 ;) (result i32) + (func $legalstub$illegalResult (; 25 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) (i32.const 1) ) - (func $legalfunc$illegalImport (; 26 ;) (param $0 f64) (param $1 i64) (param $2 i32) + (func $legalfunc$illegalImport (; 26 ;) (; has Stack IR ;) (param $0 f64) (param $1 i64) (param $2 i32) (call $legalimport$illegalImport (get_local $0) (i32.wrap/i64 @@ -1018,7 +1018,7 @@ (get_local $2) ) ) - (func $legalfunc$_fabsf (; 27 ;) (param $0 f32) (result f32) + (func $legalfunc$_fabsf (; 27 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.demote/f64 (call $legalimport$_fabsf (f64.promote/f32 @@ -1027,7 +1027,7 @@ ) ) ) - (func $legalfunc$do_i64 (; 28 ;) (result i64) + (func $legalfunc$do_i64 (; 28 ;) (; has Stack IR ;) (result i64) (i64.or (i64.extend_u/i32 (call $legalimport$do_i64) @@ -1040,10 +1040,10 @@ ) ) ) - (func $getTempRet0 (; 29 ;) (result i32) + (func $getTempRet0 (; 29 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $setTempRet0 (; 30 ;) (param $0 i32) + (func $setTempRet0 (; 30 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise index e79bbc901..6077f9429 100644 --- a/test/wasm-only.fromasm.imprecise +++ b/test/wasm-only.fromasm.imprecise @@ -17,7 +17,7 @@ (export "keepAlive" (func $keepAlive)) (export "getTempRet0" (func $getTempRet0)) (export "setTempRet0" (func $setTempRet0)) - (func $stores (; 4 ;) + (func $stores (; 4 ;) (; has Stack IR ;) (local $0 i32) (local $1 f64) (local $2 f32) @@ -110,7 +110,7 @@ (get_local $1) ) ) - (func $test (; 5 ;) + (func $test (; 5 ;) (; has Stack IR ;) (local $0 f32) (local $1 i32) (set_local $1 @@ -119,7 +119,7 @@ ) ) ) - (func $test64 (; 6 ;) + (func $test64 (; 6 ;) (; has Stack IR ;) (local $0 i64) (local $1 i32) (local $2 i64) @@ -161,7 +161,7 @@ ) ) ) - (func $imports (; 7 ;) (result i64) + (func $imports (; 7 ;) (; has Stack IR ;) (result i64) (call $legalfunc$illegalImport (f64.const -3.13159) (i64.const 94489280523) @@ -179,7 +179,7 @@ ) ) ) - (func $arg (; 8 ;) (param $0 i64) + (func $arg (; 8 ;) (; has Stack IR ;) (param $0 i64) (i64.store (i32.const 100) (get_local $0) @@ -188,7 +188,7 @@ (get_local $0) ) ) - (func $illegalParam (; 9 ;) (param $0 i32) (param $1 i64) (param $2 f64) + (func $illegalParam (; 9 ;) (; has Stack IR ;) (param $0 i32) (param $1 i64) (param $2 f64) (i64.store (i32.const 100) (get_local $1) @@ -199,12 +199,12 @@ (f64.const 12.34) ) ) - (func $call1 (; 10 ;) (param $0 i64) (result i64) + (func $call1 (; 10 ;) (; has Stack IR ;) (param $0 i64) (result i64) (call $call1 (get_local $0) ) ) - (func $call2 (; 11 ;) (param $0 i64) (result i64) + (func $call2 (; 11 ;) (; has Stack IR ;) (param $0 i64) (result i64) (drop (call $call2 (call $call2 @@ -214,13 +214,13 @@ ) (i64.const 245127260211081) ) - (func $ifValue32 (; 12 ;) (param $0 i32) (param $1 i32) (result i32) + (func $ifValue32 (; 12 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) (call $ifValue32 (get_local $0) (get_local $1) ) ) - (func $switch64 (; 13 ;) (param $0 i64) (result i32) + (func $switch64 (; 13 ;) (; has Stack IR ;) (param $0 i64) (result i32) (block $switch (result i32) (block $switch-default (block $switch-case0 @@ -255,7 +255,7 @@ (i32.const 1) ) ) - (func $unreachable_leftovers (; 14 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $unreachable_leftovers (; 14 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (block $__rjto$0 (if (i32.eqz @@ -278,7 +278,7 @@ ) ) ) - (func $switch64TOOMUCH (; 15 ;) (param $0 i64) (result i32) + (func $switch64TOOMUCH (; 15 ;) (; has Stack IR ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i64) (block $switch-default @@ -355,7 +355,7 @@ ) (i32.const 44) ) - (func $_memchr (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $_memchr (; 16 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -586,7 +586,7 @@ (get_local $0) ) ) - (func $keepAlive (; 17 ;) + (func $keepAlive (; 17 ;) (; has Stack IR ;) (call $stores) (call $stores) (call $test) @@ -678,7 +678,7 @@ ) ) ) - (func $legalstub$illegalParam (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) + (func $legalstub$illegalParam (; 18 ;) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 f64) (call $illegalParam (get_local $0) (i64.or @@ -695,13 +695,13 @@ (get_local $3) ) ) - (func $legalstub$illegalResult (; 19 ;) (result i32) + (func $legalstub$illegalResult (; 19 ;) (; has Stack IR ;) (result i32) (set_global $tempRet0 (i32.const 2) ) (i32.const 1) ) - (func $legalfunc$illegalImport (; 20 ;) (param $0 f64) (param $1 i64) (param $2 i32) + (func $legalfunc$illegalImport (; 20 ;) (; has Stack IR ;) (param $0 f64) (param $1 i64) (param $2 i32) (call $legalimport$illegalImport (get_local $0) (i32.wrap/i64 @@ -716,7 +716,7 @@ (get_local $2) ) ) - (func $legalfunc$_fabsf (; 21 ;) (param $0 f32) (result f32) + (func $legalfunc$_fabsf (; 21 ;) (; has Stack IR ;) (param $0 f32) (result f32) (f32.demote/f64 (call $legalimport$_fabsf (f64.promote/f32 @@ -725,7 +725,7 @@ ) ) ) - (func $legalfunc$do_i64 (; 22 ;) (result i64) + (func $legalfunc$do_i64 (; 22 ;) (; has Stack IR ;) (result i64) (i64.or (i64.extend_u/i32 (call $legalimport$do_i64) @@ -738,10 +738,10 @@ ) ) ) - (func $getTempRet0 (; 23 ;) (result i32) + (func $getTempRet0 (; 23 ;) (; has Stack IR ;) (result i32) (get_global $tempRet0) ) - (func $setTempRet0 (; 24 ;) (param $0 i32) + (func $setTempRet0 (; 24 ;) (; has Stack IR ;) (param $0 i32) (set_global $tempRet0 (get_local $0) ) |