diff options
author | Alon Zakai <azakai@google.com> | 2022-08-22 13:53:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-22 13:53:47 -0700 |
commit | 38c084ee386e257389d44c6200a403f74432e1af (patch) | |
tree | 8e41abd3ad903b9fcb426bf0c4be3dd66a092247 /test/lit/passes/code-folding_enable-threads.wast | |
parent | b24df4d0c4705027fdc6e261aa3f8e4f61dc5c0a (diff) | |
download | binaryen-38c084ee386e257389d44c6200a403f74432e1af.tar.gz binaryen-38c084ee386e257389d44c6200a403f74432e1af.tar.bz2 binaryen-38c084ee386e257389d44c6200a403f74432e1af.zip |
Avoid adding new unneeded names to blocks in text roundtripping (#4943)
Previously the wat parser would turn this input:
(block
(nop)
)
into something like this:
(block $block17
(nop)
)
It just added a name all the time, in case the block is referred to by an index
later even though it doesn't have a name.
This PR makes us rountrip more precisely by not adding such names: if there
was no name before, and there is no break by index, then do not add a name.
In addition, this will be useful for non-nullable locals since whether a block has
a name or not matters there. Like #4912, this makes us more regular in our
usage of block names.
Diffstat (limited to 'test/lit/passes/code-folding_enable-threads.wast')
-rw-r--r-- | test/lit/passes/code-folding_enable-threads.wast | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/test/lit/passes/code-folding_enable-threads.wast b/test/lit/passes/code-folding_enable-threads.wast index 244fd7c75..a14f0901c 100644 --- a/test/lit/passes/code-folding_enable-threads.wast +++ b/test/lit/passes/code-folding_enable-threads.wast @@ -114,20 +114,18 @@ ;; CHECK-NEXT: (block $label$A ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (block $block0 - ;; CHECK-NEXT: (block $label$B - ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (block $label$B + ;; CHECK-NEXT: (if + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: (br_table $label$A $label$B ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (br_table $label$A $label$B - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block2 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$C ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) @@ -177,14 +175,10 @@ ;; CHECK-NEXT: (block $label$A ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (block $block4 - ;; CHECK-NEXT: (br $folding-inner0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block $block6 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -319,17 +313,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $global$0) - ;; CHECK-NEXT: (block $block - ;; CHECK-NEXT: (br $folding-inner0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $global$0) - ;; CHECK-NEXT: (block $block1 - ;; CHECK-NEXT: (br $folding-inner0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (br $folding-inner0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) |