summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-05-25 17:51:17 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-05-25 17:51:17 -0700
commitbbff98549d2c29b050ea1b867c226ec09c9d78f5 (patch)
tree92c065d7179bcdac6e6c6ca202a55766d1cc05d0 /src
parent21d93d50b8eba98ca619897528fb707d1b15e265 (diff)
downloadbinaryen-bbff98549d2c29b050ea1b867c226ec09c9d78f5.tar.gz
binaryen-bbff98549d2c29b050ea1b867c226ec09c9d78f5.tar.bz2
binaryen-bbff98549d2c29b050ea1b867c226ec09c9d78f5.zip
fix a merge-blocks bug where we merged 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