summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/passes/RemoveUnusedBrs.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/passes/RemoveUnusedBrs.cpp b/src/passes/RemoveUnusedBrs.cpp
index c2f470d80..2452130cc 100644
--- a/src/passes/RemoveUnusedBrs.cpp
+++ b/src/passes/RemoveUnusedBrs.cpp
@@ -260,15 +260,16 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs>> {
}
}
} else if (curr->is<Nop>()) {
- // ignore (could be result of a previous cycle)
+ // Ignore (could be result of a previous cycle).
self->stopValueFlow();
- } else if (curr->is<Loop>()) { // TODO: eh
- // do nothing - it's ok for values to flow out
+ } else if (curr->is<Loop>() || curr->is<TryTable>()) {
+ // Do nothing - it's ok for values to flow out.
+ // TODO: Legacy Try as well?
} else if (auto* sw = curr->dynCast<Switch>()) {
self->stopFlow();
self->optimizeSwitch(sw);
} else {
- // anything else stops the flow
+ // Anything else stops the flow.
self->stopFlow();
}
}