summaryrefslogtreecommitdiff
path: root/test/lit/passes/no-inline.wast
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2024-01-04 14:25:18 -0800
committerGitHub <noreply@github.com>2024-01-04 14:25:18 -0800
commita58281ca114359cd6e65f5daaf086636aa18b0b0 (patch)
treeff98bd31d1c87b598027c2303b17855a44346515 /test/lit/passes/no-inline.wast
parent0ed42cf976ce9a3dfbe9cbb0885122e8fb6a377b (diff)
downloadbinaryen-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/no-inline.wast')
-rw-r--r--test/lit/passes/no-inline.wast152
1 files changed, 106 insertions, 46 deletions
diff --git a/test/lit/passes/no-inline.wast b/test/lit/passes/no-inline.wast
index 5e5c1ea0e..9fd95d0b7 100644
--- a/test/lit/passes/no-inline.wast
+++ b/test/lit/passes/no-inline.wast
@@ -49,7 +49,9 @@
(func $partial-yes-inline (param $x i32)
(if
(local.get $x)
- (return)
+ (then
+ (return)
+ )
)
(loop $l
(call $import)
@@ -60,7 +62,9 @@
;; NO_PART: (func $partial-maybe-inline (param $x i32)
;; NO_PART-NEXT: (if
;; NO_PART-NEXT: (local.get $x)
- ;; NO_PART-NEXT: (return)
+ ;; NO_PART-NEXT: (then
+ ;; NO_PART-NEXT: (return)
+ ;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: (loop $l
;; NO_PART-NEXT: (call $import)
@@ -70,7 +74,9 @@
;; NO_BOTH: (func $partial-maybe-inline (param $x i32)
;; NO_BOTH-NEXT: (if
;; NO_BOTH-NEXT: (local.get $x)
- ;; NO_BOTH-NEXT: (return)
+ ;; NO_BOTH-NEXT: (then
+ ;; NO_BOTH-NEXT: (return)
+ ;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: (loop $l
;; NO_BOTH-NEXT: (call $import)
@@ -80,7 +86,9 @@
(func $partial-maybe-inline (param $x i32)
(if
(local.get $x)
- (return)
+ (then
+ (return)
+ )
)
(loop $l
(call $import)
@@ -118,8 +126,10 @@
;; YES_ALL-NEXT: (i32.eqz
;; YES_ALL-NEXT: (local.get $2)
;; YES_ALL-NEXT: )
- ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; YES_ALL-NEXT: (local.get $2)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; YES_ALL-NEXT: (local.get $2)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
@@ -133,8 +143,10 @@
;; YES_ALL-NEXT: (i32.eqz
;; YES_ALL-NEXT: (local.get $3)
;; YES_ALL-NEXT: )
- ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
- ;; YES_ALL-NEXT: (local.get $3)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
+ ;; YES_ALL-NEXT: (local.get $3)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
@@ -169,8 +181,10 @@
;; NO_PART-NEXT: (i32.eqz
;; NO_PART-NEXT: (local.get $2)
;; NO_PART-NEXT: )
- ;; NO_PART-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; NO_PART-NEXT: (local.get $2)
+ ;; NO_PART-NEXT: (then
+ ;; NO_PART-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; NO_PART-NEXT: (local.get $2)
+ ;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
@@ -203,8 +217,10 @@
;; NO_FULL-NEXT: (i32.eqz
;; NO_FULL-NEXT: (local.get $1)
;; NO_FULL-NEXT: )
- ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; NO_FULL-NEXT: (local.get $1)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; NO_FULL-NEXT: (local.get $1)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -218,8 +234,10 @@
;; NO_FULL-NEXT: (i32.eqz
;; NO_FULL-NEXT: (local.get $2)
;; NO_FULL-NEXT: )
- ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
- ;; NO_FULL-NEXT: (local.get $2)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
+ ;; NO_FULL-NEXT: (local.get $2)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -248,8 +266,10 @@
;; NO_BOTH-NEXT: (i32.eqz
;; NO_BOTH-NEXT: (local.get $1)
;; NO_BOTH-NEXT: )
- ;; NO_BOTH-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; NO_BOTH-NEXT: (local.get $1)
+ ;; NO_BOTH-NEXT: (then
+ ;; NO_BOTH-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; NO_BOTH-NEXT: (local.get $1)
+ ;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
@@ -303,8 +323,10 @@
;; YES_ALL-NEXT: (i32.eqz
;; YES_ALL-NEXT: (local.get $2)
;; YES_ALL-NEXT: )
- ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; YES_ALL-NEXT: (local.get $2)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; YES_ALL-NEXT: (local.get $2)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
@@ -318,8 +340,10 @@
;; YES_ALL-NEXT: (i32.eqz
;; YES_ALL-NEXT: (local.get $3)
;; YES_ALL-NEXT: )
- ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
- ;; YES_ALL-NEXT: (local.get $3)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
+ ;; YES_ALL-NEXT: (local.get $3)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
@@ -354,8 +378,10 @@
;; NO_PART-NEXT: (i32.eqz
;; NO_PART-NEXT: (local.get $2)
;; NO_PART-NEXT: )
- ;; NO_PART-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; NO_PART-NEXT: (local.get $2)
+ ;; NO_PART-NEXT: (then
+ ;; NO_PART-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; NO_PART-NEXT: (local.get $2)
+ ;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
@@ -388,8 +414,10 @@
;; NO_FULL-NEXT: (i32.eqz
;; NO_FULL-NEXT: (local.get $1)
;; NO_FULL-NEXT: )
- ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; NO_FULL-NEXT: (local.get $1)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; NO_FULL-NEXT: (local.get $1)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -403,8 +431,10 @@
;; NO_FULL-NEXT: (i32.eqz
;; NO_FULL-NEXT: (local.get $2)
;; NO_FULL-NEXT: )
- ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
- ;; NO_FULL-NEXT: (local.get $2)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-A$partial-maybe-inline
+ ;; NO_FULL-NEXT: (local.get $2)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -433,8 +463,10 @@
;; NO_BOTH-NEXT: (i32.eqz
;; NO_BOTH-NEXT: (local.get $1)
;; NO_BOTH-NEXT: )
- ;; NO_BOTH-NEXT: (call $byn-split-outlined-A$partial-yes-inline
- ;; NO_BOTH-NEXT: (local.get $1)
+ ;; NO_BOTH-NEXT: (then
+ ;; NO_BOTH-NEXT: (call $byn-split-outlined-A$partial-yes-inline
+ ;; NO_BOTH-NEXT: (local.get $1)
+ ;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
@@ -526,13 +558,17 @@
;; NO_PART: (func $maybe-partial-or-full-1 (param $x i32)
;; NO_PART-NEXT: (if
;; NO_PART-NEXT: (local.get $x)
- ;; NO_PART-NEXT: (call $import)
+ ;; NO_PART-NEXT: (then
+ ;; NO_PART-NEXT: (call $import)
+ ;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_BOTH: (func $maybe-partial-or-full-1 (param $x i32)
;; NO_BOTH-NEXT: (if
;; NO_BOTH-NEXT: (local.get $x)
- ;; NO_BOTH-NEXT: (call $import)
+ ;; NO_BOTH-NEXT: (then
+ ;; NO_BOTH-NEXT: (call $import)
+ ;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
(func $maybe-partial-or-full-1 (param $x i32)
@@ -542,14 +578,18 @@
;; partially inline it.
(if
(local.get $x)
- (call $import)
+ (then
+ (call $import)
+ )
)
)
;; NO_PART: (func $maybe-partial-or-full-2 (param $x i32)
;; NO_PART-NEXT: (if
;; NO_PART-NEXT: (local.get $x)
- ;; NO_PART-NEXT: (return)
+ ;; NO_PART-NEXT: (then
+ ;; NO_PART-NEXT: (return)
+ ;; NO_PART-NEXT: )
;; NO_PART-NEXT: )
;; NO_PART-NEXT: (nop)
;; NO_PART-NEXT: (drop
@@ -580,7 +620,9 @@
;; NO_BOTH: (func $maybe-partial-or-full-2 (param $x i32)
;; NO_BOTH-NEXT: (if
;; NO_BOTH-NEXT: (local.get $x)
- ;; NO_BOTH-NEXT: (return)
+ ;; NO_BOTH-NEXT: (then
+ ;; NO_BOTH-NEXT: (return)
+ ;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: )
;; NO_BOTH-NEXT: (nop)
;; NO_BOTH-NEXT: (drop
@@ -613,7 +655,9 @@
;; some extra things to the function size for partial inlining to kick in.
(if
(local.get $x)
- (return)
+ (then
+ (return)
+ )
)
(nop)
(drop
@@ -654,7 +698,9 @@
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: (if
;; YES_ALL-NEXT: (local.get $0)
- ;; YES_ALL-NEXT: (call $import)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (call $import)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
@@ -665,7 +711,9 @@
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: (if
;; YES_ALL-NEXT: (local.get $1)
- ;; YES_ALL-NEXT: (call $import)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (call $import)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
@@ -677,7 +725,9 @@
;; YES_ALL-NEXT: (block
;; YES_ALL-NEXT: (if
;; YES_ALL-NEXT: (local.get $2)
- ;; YES_ALL-NEXT: (br $__inlined_func$maybe-partial-or-full-2$2)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (br $__inlined_func$maybe-partial-or-full-2$2)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: (nop)
;; YES_ALL-NEXT: (drop
@@ -715,7 +765,9 @@
;; YES_ALL-NEXT: (block
;; YES_ALL-NEXT: (if
;; YES_ALL-NEXT: (local.get $3)
- ;; YES_ALL-NEXT: (br $__inlined_func$maybe-partial-or-full-2$3)
+ ;; YES_ALL-NEXT: (then
+ ;; YES_ALL-NEXT: (br $__inlined_func$maybe-partial-or-full-2$3)
+ ;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: )
;; YES_ALL-NEXT: (nop)
;; YES_ALL-NEXT: (drop
@@ -772,8 +824,10 @@
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: (if
;; NO_FULL-NEXT: (local.get $0)
- ;; NO_FULL-NEXT: (call $byn-split-outlined-B$maybe-partial-or-full-1
- ;; NO_FULL-NEXT: (local.get $0)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-B$maybe-partial-or-full-1
+ ;; NO_FULL-NEXT: (local.get $0)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -785,8 +839,10 @@
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: (if
;; NO_FULL-NEXT: (local.get $1)
- ;; NO_FULL-NEXT: (call $byn-split-outlined-B$maybe-partial-or-full-1
- ;; NO_FULL-NEXT: (local.get $1)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-B$maybe-partial-or-full-1
+ ;; NO_FULL-NEXT: (local.get $1)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -800,8 +856,10 @@
;; NO_FULL-NEXT: (i32.eqz
;; NO_FULL-NEXT: (local.get $2)
;; NO_FULL-NEXT: )
- ;; NO_FULL-NEXT: (call $byn-split-outlined-A$maybe-partial-or-full-2
- ;; NO_FULL-NEXT: (local.get $2)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-A$maybe-partial-or-full-2
+ ;; NO_FULL-NEXT: (local.get $2)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
@@ -815,8 +873,10 @@
;; NO_FULL-NEXT: (i32.eqz
;; NO_FULL-NEXT: (local.get $3)
;; NO_FULL-NEXT: )
- ;; NO_FULL-NEXT: (call $byn-split-outlined-A$maybe-partial-or-full-2
- ;; NO_FULL-NEXT: (local.get $3)
+ ;; NO_FULL-NEXT: (then
+ ;; NO_FULL-NEXT: (call $byn-split-outlined-A$maybe-partial-or-full-2
+ ;; NO_FULL-NEXT: (local.get $3)
+ ;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )
;; NO_FULL-NEXT: )