diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/dynamicLibrary.fromasm | 7 | ||||
-rw-r--r-- | test/dynamicLibrary.fromasm.clamp | 7 | ||||
-rw-r--r-- | test/dynamicLibrary.fromasm.imprecise | 7 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 25 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.clamp | 25 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 21 | ||||
-rw-r--r-- | test/min.fromasm | 2 | ||||
-rw-r--r-- | test/min.fromasm.clamp | 2 | ||||
-rw-r--r-- | test/min.fromasm.imprecise | 2 | ||||
-rw-r--r-- | test/passes/func-metrics.txt | 2 | ||||
-rw-r--r-- | test/passes/simplify-globals_enable-mutable-globals.txt | 53 | ||||
-rw-r--r-- | test/passes/simplify-globals_enable-mutable-globals.wast | 37 | ||||
-rw-r--r-- | test/unit.fromasm | 7 | ||||
-rw-r--r-- | test/unit.fromasm.clamp | 7 | ||||
-rw-r--r-- | test/unit.fromasm.imprecise | 7 |
15 files changed, 146 insertions, 65 deletions
diff --git a/test/dynamicLibrary.fromasm b/test/dynamicLibrary.fromasm index 8bc46560c..b5238fcab 100644 --- a/test/dynamicLibrary.fromasm +++ b/test/dynamicLibrary.fromasm @@ -7,7 +7,6 @@ (import "env" "memoryBase" (global $memoryBase$asm2wasm$import i32)) (import "env" "abortStackOverflow" (func $abortStackOverflow (param i32))) (import "env" "_puts" (func $_puts (param i32) (result i32))) - (global $memoryBase (mut i32) (global.get $memoryBase$asm2wasm$import)) (global $STACKTOP (mut i32) (i32.const 0)) (global $STACK_MAX (mut i32) (i32.const 0)) (global $_global i32 (i32.const 5242912)) @@ -36,7 +35,7 @@ ) (drop (call $_puts - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) ) ) (global.set $STACKTOP @@ -49,7 +48,7 @@ (func $__post_instantiate (; 4 ;) (; has Stack IR ;) (global.set $STACKTOP (i32.add - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) (i32.const 32) ) ) @@ -61,7 +60,7 @@ ) (call $__ZN3FooC2Ev (i32.add - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) (i32.const 5242912) ) ) diff --git a/test/dynamicLibrary.fromasm.clamp b/test/dynamicLibrary.fromasm.clamp index 8bc46560c..b5238fcab 100644 --- a/test/dynamicLibrary.fromasm.clamp +++ b/test/dynamicLibrary.fromasm.clamp @@ -7,7 +7,6 @@ (import "env" "memoryBase" (global $memoryBase$asm2wasm$import i32)) (import "env" "abortStackOverflow" (func $abortStackOverflow (param i32))) (import "env" "_puts" (func $_puts (param i32) (result i32))) - (global $memoryBase (mut i32) (global.get $memoryBase$asm2wasm$import)) (global $STACKTOP (mut i32) (i32.const 0)) (global $STACK_MAX (mut i32) (i32.const 0)) (global $_global i32 (i32.const 5242912)) @@ -36,7 +35,7 @@ ) (drop (call $_puts - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) ) ) (global.set $STACKTOP @@ -49,7 +48,7 @@ (func $__post_instantiate (; 4 ;) (; has Stack IR ;) (global.set $STACKTOP (i32.add - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) (i32.const 32) ) ) @@ -61,7 +60,7 @@ ) (call $__ZN3FooC2Ev (i32.add - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) (i32.const 5242912) ) ) diff --git a/test/dynamicLibrary.fromasm.imprecise b/test/dynamicLibrary.fromasm.imprecise index 9c5b5c7c3..146ff741b 100644 --- a/test/dynamicLibrary.fromasm.imprecise +++ b/test/dynamicLibrary.fromasm.imprecise @@ -4,7 +4,6 @@ (import "env" "memoryBase" (global $memoryBase$asm2wasm$import i32)) (import "env" "abortStackOverflow" (func $abortStackOverflow (param i32))) (import "env" "_puts" (func $_puts (param i32) (result i32))) - (global $memoryBase (mut i32) (global.get $memoryBase$asm2wasm$import)) (global $STACKTOP (mut i32) (i32.const 0)) (global $STACK_MAX (mut i32) (i32.const 0)) (global $_global i32 (i32.const 5242912)) @@ -33,7 +32,7 @@ ) (drop (call $_puts - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) ) ) (global.set $STACKTOP @@ -46,7 +45,7 @@ (func $__post_instantiate (; 4 ;) (; has Stack IR ;) (global.set $STACKTOP (i32.add - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) (i32.const 32) ) ) @@ -58,7 +57,7 @@ ) (call $__ZN3FooC2Ev (i32.add - (global.get $memoryBase) + (global.get $memoryBase$asm2wasm$import) (i32.const 5242912) ) ) diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index f97fe05cd..a9b17068e 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -36,7 +36,6 @@ (import "asm2wasm" "f64-to-int" (func $f64-to-int (param f64) (result i32))) (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import)) (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import)) - (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import)) (global $__THREW__ (mut i32) (i32.const 0)) (global $threwValue (mut i32) (i32.const 0)) (global $tempRet0 (mut i32) (i32.const 0)) @@ -163,7 +162,7 @@ (local $4 i32) (local $5 i32) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $0) ) (block $switch @@ -175,12 +174,12 @@ (call $_bitshift64Lshr (local.tee $2 (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.tee $3 (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (i32.const 52) @@ -235,11 +234,11 @@ ) ) (i32.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $2) ) (i32.store offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (i32.or (i32.and (local.get $3) @@ -250,7 +249,7 @@ ) (local.set $0 (f64.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) ) @@ -3690,19 +3689,19 @@ (i32.const 0) ) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $14) ) (drop (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.set $32 (if (result i32) (i32.lt_s (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) (i32.const 0) ) @@ -3747,12 +3746,12 @@ ) ) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $14) ) (drop (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.set $5 @@ -3760,7 +3759,7 @@ (i32.lt_u (i32.and (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) (i32.const 2146435072) ) diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp index 1a2992ad1..212e5e8d3 100644 --- a/test/emcc_hello_world.fromasm.clamp +++ b/test/emcc_hello_world.fromasm.clamp @@ -34,7 +34,6 @@ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32))) (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import)) (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import)) - (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import)) (global $__THREW__ (mut i32) (i32.const 0)) (global $threwValue (mut i32) (i32.const 0)) (global $tempRet0 (mut i32) (i32.const 0)) @@ -161,7 +160,7 @@ (local $4 i32) (local $5 i32) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $0) ) (block $switch @@ -173,12 +172,12 @@ (call $_bitshift64Lshr (local.tee $2 (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.tee $3 (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (i32.const 52) @@ -233,11 +232,11 @@ ) ) (i32.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $2) ) (i32.store offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (i32.or (i32.and (local.get $3) @@ -248,7 +247,7 @@ ) (local.set $0 (f64.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) ) @@ -3740,19 +3739,19 @@ (i32.const 0) ) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $14) ) (drop (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.set $32 (if (result i32) (i32.lt_s (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) (i32.const 0) ) @@ -3797,12 +3796,12 @@ ) ) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $14) ) (drop (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.set $5 @@ -3810,7 +3809,7 @@ (i32.lt_u (i32.and (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) (i32.const 2146435072) ) diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index c93a14f80..f6fe8aca1 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -33,7 +33,6 @@ (import "env" "___syscall146" (func $___syscall146 (param i32 i32) (result i32))) (global $STACKTOP (mut i32) (global.get $STACKTOP$asm2wasm$import)) (global $STACK_MAX (mut i32) (global.get $STACK_MAX$asm2wasm$import)) - (global $tempDoublePtr (mut i32) (global.get $tempDoublePtr$asm2wasm$import)) (global $__THREW__ (mut i32) (i32.const 0)) (global $threwValue (mut i32) (i32.const 0)) (global $tempRet0 (mut i32) (i32.const 0)) @@ -160,7 +159,7 @@ (local $4 i32) (local $5 i32) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $0) ) (block $switch @@ -172,12 +171,12 @@ (call $_bitshift64Lshr (local.tee $2 (i32.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (local.tee $3 (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) (i32.const 52) @@ -232,11 +231,11 @@ ) ) (i32.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $2) ) (i32.store offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (i32.or (i32.and (local.get $3) @@ -247,7 +246,7 @@ ) (local.set $0 (f64.load - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) ) ) @@ -3602,14 +3601,14 @@ (i32.const 0) ) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $14) ) (local.set $32 (if (result i32) (i32.lt_s (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) (i32.const 0) ) @@ -3654,7 +3653,7 @@ ) ) (f64.store - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) (local.get $14) ) (local.set $5 @@ -3662,7 +3661,7 @@ (i32.lt_u (i32.and (i32.load offset=4 - (global.get $tempDoublePtr) + (global.get $tempDoublePtr$asm2wasm$import) ) (i32.const 2146435072) ) diff --git a/test/min.fromasm b/test/min.fromasm index 386520834..8f99f21e8 100644 --- a/test/min.fromasm +++ b/test/min.fromasm @@ -2,7 +2,7 @@ (import "env" "memory" (memory $memory 256 256)) (data (global.get $__memory_base) "min.asm.js") (import "env" "__memory_base" (global $__memory_base i32)) - (global $M (mut i32) (i32.const 0)) + (global $M i32 (i32.const 0)) (export "floats" (func $floats)) (export "getTempRet0" (func $ub)) (export "neg" (func $neg)) diff --git a/test/min.fromasm.clamp b/test/min.fromasm.clamp index 386520834..8f99f21e8 100644 --- a/test/min.fromasm.clamp +++ b/test/min.fromasm.clamp @@ -2,7 +2,7 @@ (import "env" "memory" (memory $memory 256 256)) (data (global.get $__memory_base) "min.asm.js") (import "env" "__memory_base" (global $__memory_base i32)) - (global $M (mut i32) (i32.const 0)) + (global $M i32 (i32.const 0)) (export "floats" (func $floats)) (export "getTempRet0" (func $ub)) (export "neg" (func $neg)) diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise index 6d7516136..b87a0b27f 100644 --- a/test/min.fromasm.imprecise +++ b/test/min.fromasm.imprecise @@ -1,6 +1,6 @@ (module (import "env" "memory" (memory $memory 256 256)) - (global $M (mut i32) (i32.const 0)) + (global $M i32 (i32.const 0)) (export "floats" (func $floats)) (export "getTempRet0" (func $ub)) (export "neg" (func $neg)) diff --git a/test/passes/func-metrics.txt b/test/passes/func-metrics.txt index fd8d949bd..fa4857b56 100644 --- a/test/passes/func-metrics.txt +++ b/test/passes/func-metrics.txt @@ -235,7 +235,7 @@ func: 0 [vars] : 0 global.get : 1 export: stackSave (0) - [removable-bytes-without-it]: 74 + [removable-bytes-without-it]: 66 [total] : 0 (module (type $0 (func (result i32))) diff --git a/test/passes/simplify-globals_enable-mutable-globals.txt b/test/passes/simplify-globals_enable-mutable-globals.txt new file mode 100644 index 000000000..0b3ce2201 --- /dev/null +++ b/test/passes/simplify-globals_enable-mutable-globals.txt @@ -0,0 +1,53 @@ +(module + (type $0 (func)) + (import "env" "global-1" (global $g1 i32)) + (global $g2 i32 (global.get $g1)) + (func $foo (; 0 ;) (type $0) + (drop + (global.get $g1) + ) + (drop + (global.get $g1) + ) + ) +) +(module + (type $0 (func)) + (import "env" "global-1" (global $g1 i32)) + (global $g2 i32 (global.get $g1)) + (global $g3 i32 (global.get $g2)) + (global $g4 i32 (global.get $g3)) + (func $foo (; 0 ;) (type $0) + (drop + (global.get $g1) + ) + (drop + (global.get $g1) + ) + (drop + (global.get $g1) + ) + (drop + (global.get $g1) + ) + ) +) +(module + (import "env" "global-1" (global $g1 (mut i32))) + (global $g2 i32 (global.get $g1)) +) +(module + (type $0 (func)) + (import "env" "global-1" (global $g1 i32)) + (global $g2 (mut i32) (global.get $g1)) + (func $foo (; 0 ;) (type $0) + (global.set $g2 + (unreachable) + ) + ) +) +(module + (import "env" "global-1" (global $g1 (mut i32))) + (global $g2 (mut i32) (global.get $g1)) + (export "global-2" (global $g2)) +) diff --git a/test/passes/simplify-globals_enable-mutable-globals.wast b/test/passes/simplify-globals_enable-mutable-globals.wast new file mode 100644 index 000000000..599f7e6ff --- /dev/null +++ b/test/passes/simplify-globals_enable-mutable-globals.wast @@ -0,0 +1,37 @@ +(module + (import "env" "global-1" (global $g1 i32)) + (global $g2 (mut i32) (global.get $g1)) + (func $foo + (drop (global.get $g1)) + (drop (global.get $g2)) + ) +) +(module + (import "env" "global-1" (global $g1 i32)) + (global $g2 (mut i32) (global.get $g1)) + (global $g3 (mut i32) (global.get $g2)) + (global $g4 (mut i32) (global.get $g3)) + (func $foo + (drop (global.get $g1)) + (drop (global.get $g2)) + (drop (global.get $g3)) + (drop (global.get $g4)) + ) +) +(module + (import "env" "global-1" (global $g1 (mut i32))) + (global $g2 (mut i32) (global.get $g1)) +) +(module + (import "env" "global-1" (global $g1 i32)) + (global $g2 (mut i32) (global.get $g1)) + (func $foo + (global.set $g2 (unreachable)) + ) +) +(module + (import "env" "global-1" (global $g1 (mut i32))) + (global $g2 (mut i32) (global.get $g1)) + (export "global-2" (global $g2)) +) + diff --git a/test/unit.fromasm b/test/unit.fromasm index 8ca8266e2..1bc96b1cf 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -24,8 +24,7 @@ (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))) (global $Int (mut i32) (i32.const 0)) - (global $Double (mut f64) (f64.const 0)) - (global $n (mut i32) (global.get $n$asm2wasm$import)) + (global $Double f64 (f64.const 0)) (global $nonZero (mut i32) (i32.const 1337)) (global $exportedNumber i32 (i32.const 42)) (export "big_negative" (func $big_negative)) @@ -123,7 +122,7 @@ ) (if (i32.gt_s - (global.get $n) + (global.get $n$asm2wasm$import) (i32.const 0) ) (return @@ -445,7 +444,7 @@ (i32.store (local.get $0) (i32.add - (global.get $n) + (global.get $n$asm2wasm$import) (i32.const 144) ) ) diff --git a/test/unit.fromasm.clamp b/test/unit.fromasm.clamp index c6c967925..147913b80 100644 --- a/test/unit.fromasm.clamp +++ b/test/unit.fromasm.clamp @@ -22,8 +22,7 @@ (import "env" "emscripten_log" (func $emscripten_log)) (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64))) (global $Int (mut i32) (i32.const 0)) - (global $Double (mut f64) (f64.const 0)) - (global $n (mut i32) (global.get $n$asm2wasm$import)) + (global $Double f64 (f64.const 0)) (global $nonZero (mut i32) (i32.const 1337)) (global $exportedNumber i32 (i32.const 42)) (export "big_negative" (func $big_negative)) @@ -121,7 +120,7 @@ ) (if (i32.gt_s - (global.get $n) + (global.get $n$asm2wasm$import) (i32.const 0) ) (return @@ -493,7 +492,7 @@ (i32.store (local.get $0) (i32.add - (global.get $n) + (global.get $n$asm2wasm$import) (i32.const 144) ) ) diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise index b40a5bd06..62b517f87 100644 --- a/test/unit.fromasm.imprecise +++ b/test/unit.fromasm.imprecise @@ -20,8 +20,7 @@ (import "env" "emscripten_log" (func $emscripten_log)) (import "asm2wasm" "f64-rem" (func $f64-rem (param f64 f64) (result f64))) (global $Int (mut i32) (i32.const 0)) - (global $Double (mut f64) (f64.const 0)) - (global $n (mut i32) (global.get $n$asm2wasm$import)) + (global $Double f64 (f64.const 0)) (global $nonZero (mut i32) (i32.const 1337)) (global $exportedNumber i32 (i32.const 42)) (export "big_negative" (func $big_negative)) @@ -119,7 +118,7 @@ ) (if (i32.gt_s - (global.get $n) + (global.get $n$asm2wasm$import) (i32.const 0) ) (return @@ -433,7 +432,7 @@ (i32.store (local.get $0) (i32.add - (global.get $n) + (global.get $n$asm2wasm$import) (i32.const 144) ) ) |