diff options
author | Thomas Lively <tlively@google.com> | 2024-01-04 14:25:18 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-04 14:25:18 -0800 |
commit | a58281ca114359cd6e65f5daaf086636aa18b0b0 (patch) | |
tree | ff98bd31d1c87b598027c2303b17855a44346515 /test/lit/passes/multi-memory-lowering.wast | |
parent | 0ed42cf976ce9a3dfbe9cbb0885122e8fb6a377b (diff) | |
download | binaryen-a58281ca114359cd6e65f5daaf086636aa18b0b0.tar.gz binaryen-a58281ca114359cd6e65f5daaf086636aa18b0b0.tar.bz2 binaryen-a58281ca114359cd6e65f5daaf086636aa18b0b0.zip |
Require `then` and `else` with `if` (#6201)
We previously supported (and primarily used) a non-standard text format for
conditionals in which the condition, if-true expression, and if-false expression
were all simply s-expression children of the `if` expression. The standard text
format, however, requires the use of `then` and `else` forms to introduce the
if-true and if-false arms of the conditional. Update the legacy text parser to
require the standard format and update all tests to match. Update the printer to
print the standard format as well.
The .wast and .wat test inputs were mechanically updated with this script:
https://gist.github.com/tlively/85ae7f01f92f772241ec994c840ccbb1
Diffstat (limited to 'test/lit/passes/multi-memory-lowering.wast')
-rw-r--r-- | test/lit/passes/multi-memory-lowering.wast | 112 |
1 files changed, 81 insertions, 31 deletions
diff --git a/test/lit/passes/multi-memory-lowering.wast b/test/lit/passes/multi-memory-lowering.wast index 7463b7810..7508a5627 100644 --- a/test/lit/passes/multi-memory-lowering.wast +++ b/test/lit/passes/multi-memory-lowering.wast @@ -96,7 +96,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory1_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $0) ;; BOUNDS-NEXT: ) @@ -122,7 +124,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $1) ;; BOUNDS-NEXT: ) @@ -148,7 +152,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory3_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -212,7 +218,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory1_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $0) ;; BOUNDS-NEXT: ) @@ -237,7 +245,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $1) ;; BOUNDS-NEXT: ) @@ -262,7 +272,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory3_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -307,7 +319,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory1_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $1) ;; BOUNDS-NEXT: ) @@ -349,7 +363,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -392,7 +408,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory3_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $1) ;; BOUNDS-NEXT: ) @@ -432,7 +450,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $1) ;; BOUNDS-NEXT: ) @@ -506,7 +526,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory3_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -533,7 +555,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $3) ;; BOUNDS-NEXT: ) @@ -558,7 +582,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory1_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $4) ;; BOUNDS-NEXT: ) @@ -586,7 +612,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $5) ;; BOUNDS-NEXT: ) @@ -653,7 +681,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory1_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -708,7 +738,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -721,7 +753,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory3_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $0) ;; BOUNDS-NEXT: ) @@ -772,7 +806,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (call $memory2_size) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (if ;; BOUNDS-NEXT: (i32.gt_u @@ -782,7 +818,9 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (i32.const 1) ;; BOUNDS-NEXT: ) - ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: (then + ;; BOUNDS-NEXT: (unreachable) + ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $2) ;; BOUNDS-NEXT: ) @@ -851,8 +889,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (return -;; CHECK-NEXT: (i32.const -1) +;; CHECK-NEXT: (then +;; CHECK-NEXT: (return +;; CHECK-NEXT: (i32.const -1) +;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (memory.copy @@ -909,8 +949,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (return -;; CHECK-NEXT: (i32.const -1) +;; CHECK-NEXT: (then +;; CHECK-NEXT: (return +;; CHECK-NEXT: (i32.const -1) +;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (memory.copy @@ -954,8 +996,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const -1) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (return -;; CHECK-NEXT: (i32.const -1) +;; CHECK-NEXT: (then +;; CHECK-NEXT: (return +;; CHECK-NEXT: (i32.const -1) +;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $return_size) @@ -1013,8 +1057,10 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (i32.const -1) ;; BOUNDS-NEXT: ) -;; BOUNDS-NEXT: (return -;; BOUNDS-NEXT: (i32.const -1) +;; BOUNDS-NEXT: (then +;; BOUNDS-NEXT: (return +;; BOUNDS-NEXT: (i32.const -1) +;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (memory.copy @@ -1071,8 +1117,10 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (i32.const -1) ;; BOUNDS-NEXT: ) -;; BOUNDS-NEXT: (return -;; BOUNDS-NEXT: (i32.const -1) +;; BOUNDS-NEXT: (then +;; BOUNDS-NEXT: (return +;; BOUNDS-NEXT: (i32.const -1) +;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (memory.copy @@ -1116,8 +1164,10 @@ ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (i32.const -1) ;; BOUNDS-NEXT: ) -;; BOUNDS-NEXT: (return -;; BOUNDS-NEXT: (i32.const -1) +;; BOUNDS-NEXT: (then +;; BOUNDS-NEXT: (return +;; BOUNDS-NEXT: (i32.const -1) +;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: ) ;; BOUNDS-NEXT: (local.get $return_size) |