diff options
Diffstat (limited to 'test/passes')
-rw-r--r-- | test/passes/bysyncify_optimize-level=1.txt | 11 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.txt | 51 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.wast | 48 |
3 files changed, 105 insertions, 5 deletions
diff --git a/test/passes/bysyncify_optimize-level=1.txt b/test/passes/bysyncify_optimize-level=1.txt index 7b1093964..b2bc87f85 100644 --- a/test/passes/bysyncify_optimize-level=1.txt +++ b/test/passes/bysyncify_optimize-level=1.txt @@ -1244,11 +1244,12 @@ ) ) ) - (if - (i32.eqz - (global.get $__bysyncify_state) - ) - (br_if $l + (br_if $l + (select + (i32.eqz + (global.get $__bysyncify_state) + ) + (i32.const 0) (local.get $0) ) ) diff --git a/test/passes/remove-unused-brs.txt b/test/passes/remove-unused-brs.txt index 944828d5c..790d943c3 100644 --- a/test/passes/remove-unused-brs.txt +++ b/test/passes/remove-unused-brs.txt @@ -2431,4 +2431,55 @@ ) ) ) + (func $if_br_if (; 115 ;) (type $1) + (local $0 i32) + (block $label$1 + (br_if $label$1 + (select + (local.tee $0 + (i32.const 1024) + ) + (i32.const 0) + (i32.eqz + (i32.const -4) + ) + ) + ) + (br_if $label$1 + (select + (i32.const 1025) + (i32.const 0) + (i32.eqz + (i32.const -5) + ) + ) + ) + (br_if $label$1 + (select + (local.tee $0 + (i32.const 1025) + ) + (i32.const 0) + (i32.eqz + (i32.const -6) + ) + ) + ) + (if + (i32.const 1026) + (br_if $label$1 + (local.tee $0 + (i32.const -7) + ) + ) + ) + (i32.store + (i32.const 1024) + (i32.add + (local.get $0) + (i32.const 1) + ) + ) + ) + ) ) diff --git a/test/passes/remove-unused-brs.wast b/test/passes/remove-unused-brs.wast index 15a56b2d9..c20e352f0 100644 --- a/test/passes/remove-unused-brs.wast +++ b/test/passes/remove-unused-brs.wast @@ -2039,5 +2039,53 @@ ) ) ) + (func $if_br_if + (local $0 i32) + (block $label$1 + (if + (local.tee $0 ;; note side effect; it's ok + (i32.const 1024) + ) + (br_if $label$1 + (i32.eqz + (i32.const -4) + ) + ) + ) + (if + (i32.const 1025) + (br_if $label$1 + (i32.eqz + (i32.const -5) + ) + ) + ) + (if + (local.tee $0 ;; note side effect; it's ok + (i32.const 1025) + ) + (br_if $label$1 + (i32.eqz + (i32.const -6) + ) + ) + ) + (if + (i32.const 1026) + (br_if $label$1 + (local.tee $0 ;; but here it is *not* ok + (i32.const -7) + ) + ) + ) + (i32.store + (i32.const 1024) + (i32.add + (local.get $0) + (i32.const 1) + ) + ) + ) + ) ) |