summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-05-25 19:27:24 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-05-25 19:27:24 -0700
commit45618ddc8eee4f288a2d11d1afe763dbdeab8559 (patch)
tree39ef392e07a56bfd1d465315b24158110523c943 /src
parent948f6fe7c4d2a9256310c07c54724685f27874ac (diff)
parent5b6918ec2245a6e3c512dcee45766731b49805cc (diff)
downloadbinaryen-45618ddc8eee4f288a2d11d1afe763dbdeab8559.tar.gz
binaryen-45618ddc8eee4f288a2d11d1afe763dbdeab8559.tar.bz2
binaryen-45618ddc8eee4f288a2d11d1afe763dbdeab8559.zip
Merge pull request #543 from WebAssembly/fix-merge-blocks
Fix merge blocks on named blocks
Diffstat (limited to 'src')
-rw-r--r--src/passes/MergeBlocks.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/passes/MergeBlocks.cpp b/src/passes/MergeBlocks.cpp
index 5794e1379..7b9723b0b 100644
--- a/src/passes/MergeBlocks.cpp
+++ b/src/passes/MergeBlocks.cpp
@@ -100,7 +100,7 @@ struct MergeBlocks : public WalkerPass<PostWalker<MergeBlocks, Visitor<MergeBloc
if (dependency1 && *dependency1 && EffectAnalyzer(*dependency1).hasSideEffects()) return outer;
if (dependency2 && *dependency2 && EffectAnalyzer(*dependency2).hasSideEffects()) return outer;
if (auto* block = child->dynCast<Block>()) {
- if (block->list.size() >= 2) {
+ if (!block->name.is() && block->list.size() >= 2) {
child = block->list.back();
if (outer == nullptr) {
// reuse the block, move it out