diff options
author | Thomas Lively <tlively@google.com> | 2024-04-11 12:10:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-11 19:10:10 +0000 |
commit | da8b071ba8c5cd290853188a6b7704417ca254eb (patch) | |
tree | 0f0c61b5257c2b4bc6ed91d4be6467d3a3c0ba8d /test | |
parent | adea6e0f80c68108691f28ab4aa81b8f8973ac35 (diff) | |
download | binaryen-da8b071ba8c5cd290853188a6b7704417ca254eb.tar.gz binaryen-da8b071ba8c5cd290853188a6b7704417ca254eb.tar.bz2 binaryen-da8b071ba8c5cd290853188a6b7704417ca254eb.zip |
[Parser] Use unreachables to fulfill tuple requirements (#6488)
When we need to pop a tuple and the top value on the stack is unreachable, just
pop the unreachable rather than producing a tuple.make. This always produces
valid IR since an unreachable is always valid where a tuple would otherwise be
expected. It also avoids bloating the parsed IR, since we would previously parse
a `tuple.make` where all the children were unreachable in this case.
Diffstat (limited to 'test')
-rw-r--r-- | test/lit/wat-kitchen-sink.wast | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/test/lit/wat-kitchen-sink.wast b/test/lit/wat-kitchen-sink.wast index e67d3f438..10c58b603 100644 --- a/test/lit/wat-kitchen-sink.wast +++ b/test/lit/wat-kitchen-sink.wast @@ -3652,10 +3652,7 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $return-two-second-unreachable (param i32) (result i32 i64) |