summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/passes/MergeBlocks.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/passes/MergeBlocks.cpp b/src/passes/MergeBlocks.cpp
index 401d2e629..12f67329d 100644
--- a/src/passes/MergeBlocks.cpp
+++ b/src/passes/MergeBlocks.cpp
@@ -434,6 +434,15 @@ struct MergeBlocks
optimizeBlock(curr, getModule(), getPassOptions(), branchInfo);
}
+ void visitDrop(Drop* curr) {
+ if (auto* block = curr->value->dynCast<Block>()) {
+ if (optimizeDroppedBlock(
+ curr, block, *getModule(), getPassOptions(), branchInfo)) {
+ replaceCurrent(block);
+ }
+ }
+ }
+
// given
// (curr
// (block=child