diff options
Diffstat (limited to 'test/lit/passes/remove-unused-brs.wast')
-rw-r--r-- | test/lit/passes/remove-unused-brs.wast | 180 |
1 files changed, 121 insertions, 59 deletions
diff --git a/test/lit/passes/remove-unused-brs.wast b/test/lit/passes/remove-unused-brs.wast index 6907547c3..6fcc5b066 100644 --- a/test/lit/passes/remove-unused-brs.wast +++ b/test/lit/passes/remove-unused-brs.wast @@ -17,11 +17,15 @@ (func $selectify-fresh-lub (param $x i32) (result anyref) (if (local.get $x) - (return - (ref.null none) + (then + (return + (ref.null none) + ) ) - (return - (ref.i31 (i32.const 0)) + (else + (return + (ref.i31 (i32.const 0)) + ) ) ) ) @@ -54,13 +58,17 @@ ) (i32.const 10) ) - (i32.const 1) - (i32.lt_u - (i32.sub - (local.get $0) - (i32.const 97) + (then + (i32.const 1) + ) + (else + (i32.lt_u + (i32.sub + (local.get $0) + (i32.const 97) + ) + (i32.const 6) ) - (i32.const 6) ) ) ) @@ -68,13 +76,17 @@ ;; CHECK: (func $restructure-br_if (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (i32.const 100) - ;; CHECK-NEXT: (block $x (result i32) - ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.const 200) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 100) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (block $x (result i32) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.const 200) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 300) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -104,13 +116,17 @@ ;; CHECK-NEXT: (call $nothing) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 100) - ;; CHECK-NEXT: (block $x (result i32) - ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.const 200) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (i32.const 100) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (block $x (result i32) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.const 200) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 300) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 300) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -382,7 +398,9 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $if-of-if) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $if-of-if) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $if-of-if @@ -393,9 +411,13 @@ (local.tee $x (i32.const 1) ) - (if - (local.get $x) - (call $if-of-if) + (then + (if + (local.get $x) + (then + (call $if-of-if) + ) + ) ) ) ) @@ -406,11 +428,15 @@ ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.tee $x - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.tee $x + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $if-of-if-but-side-effects) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $if-of-if-but-side-effects) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -422,11 +448,15 @@ (local.tee $x (i32.const 1) ) - (if - (local.tee $x - (i32.const 2) + (then + (if + (local.tee $x + (i32.const 2) + ) + (then + (call $if-of-if-but-side-effects) + ) ) - (call $if-of-if-but-side-effects) ) ) ) @@ -437,8 +467,8 @@ ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.eqz @@ -447,7 +477,9 @@ ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.eqz - ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: (i32.eqz + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -456,8 +488,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $if-of-if-but-too-costly) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $if-of-if-but-too-costly) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -469,11 +503,15 @@ (local.tee $x (i32.const 1) ) - (if - (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz - (local.get $x) - ))))))))) - (call $if-of-if-but-too-costly) + (then + (if + (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz (i32.eqz + (local.get $x) + ))))))))) + (then + (call $if-of-if-but-too-costly) + ) + ) ) ) ) @@ -484,10 +522,16 @@ ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (call $if-of-if-but-inner-else) - ;; CHECK-NEXT: (call $if-of-if) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $if-of-if-but-inner-else) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $if-of-if) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -498,10 +542,16 @@ (local.tee $x (i32.const 1) ) - (if - (local.get $x) - (call $if-of-if-but-inner-else) - (call $if-of-if) + (then + (if + (local.get $x) + (then + (call $if-of-if-but-inner-else) + ) + (else + (call $if-of-if) + ) + ) ) ) ) @@ -512,11 +562,17 @@ ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (if - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: (call $if-of-if-but-outer-else) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (call $if-of-if-but-outer-else) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (call $if-of-if) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call $if-of-if) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $if-of-if-but-outer-else @@ -526,11 +582,17 @@ (local.tee $x (i32.const 1) ) - (if - (local.get $x) - (call $if-of-if-but-outer-else) + (then + (if + (local.get $x) + (then + (call $if-of-if-but-outer-else) + ) + ) + ) + (else + (call $if-of-if) ) - (call $if-of-if) ) ) ) |