diff options
Diffstat (limited to 'test/passes')
-rw-r--r-- | test/passes/licm.txt | 17 | ||||
-rw-r--r-- | test/passes/licm.wast | 9 | ||||
-rw-r--r-- | test/passes/local-cse.txt | 15 | ||||
-rw-r--r-- | test/passes/local-cse.wast | 8 |
4 files changed, 49 insertions, 0 deletions
diff --git a/test/passes/licm.txt b/test/passes/licm.txt index e76a0d683..25c78c7a0 100644 --- a/test/passes/licm.txt +++ b/test/passes/licm.txt @@ -4,6 +4,7 @@ (type $2 (func (result i64))) (type $3 (func (param i32))) (type $4 (func (param i32) (result i32))) + (global $glob (mut i32) (i32.const 1)) (func $loop1 (; 0 ;) (type $0) (drop (i32.const 10) @@ -674,4 +675,20 @@ ) ) ) + (func $global (; 40 ;) (type $0) + (local $x i32) + (set_local $x + (get_global $glob) + ) + (drop + (get_local $x) + ) + (loop $loop + (nop) + (nop) + (br_if $loop + (get_local $x) + ) + ) + ) ) diff --git a/test/passes/licm.wast b/test/passes/licm.wast index d4227525b..349739ce8 100644 --- a/test/passes/licm.wast +++ b/test/passes/licm.wast @@ -1,4 +1,5 @@ (module + (global $glob (mut i32) (i32.const 1)) (func $loop1 (loop $loop (drop (i32.const 10)) @@ -388,5 +389,13 @@ (br_if $loop (i32.const 1)) ) ) + (func $global + (local $x i32) + (loop $loop + (set_local $x (get_global $glob)) + (drop (get_local $x)) + (br_if $loop (get_local $x)) + ) + ) ) diff --git a/test/passes/local-cse.txt b/test/passes/local-cse.txt index 970a13dd8..62395f73f 100644 --- a/test/passes/local-cse.txt +++ b/test/passes/local-cse.txt @@ -1,5 +1,7 @@ (module (type $0 (func (result i64))) + (type $1 (func)) + (global $glob (mut i32) (i32.const 1)) (func $i64-shifts (; 0 ;) (type $0) (result i64) (local $temp i64) (set_local $temp @@ -19,4 +21,17 @@ ) (get_local $temp) ) + (func $global (; 1 ;) (type $1) + (local $x i32) + (local $y i32) + (set_local $x + (get_global $glob) + ) + (set_local $y + (get_local $x) + ) + (set_local $y + (get_local $x) + ) + ) ) diff --git a/test/passes/local-cse.wast b/test/passes/local-cse.wast index 23ea6ff68..09534be60 100644 --- a/test/passes/local-cse.wast +++ b/test/passes/local-cse.wast @@ -1,4 +1,5 @@ (module + (global $glob (mut i32) (i32.const 1)) (func $i64-shifts (result i64) (local $temp i64) (set_local $temp @@ -18,4 +19,11 @@ ) (get_local $temp) ) + (func $global + (local $x i32) + (local $y i32) + (set_local $x (get_global $glob)) + (set_local $y (get_global $glob)) + (set_local $y (get_global $glob)) + ) ) |