diff options
Diffstat (limited to 'src/passes/MergeBlocks.cpp')
-rw-r--r-- | src/passes/MergeBlocks.cpp | 9 |
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 |