diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/RemoveUnusedModuleElements.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp index d4c6d5a5d..806545adf 100644 --- a/src/passes/RemoveUnusedModuleElements.cpp +++ b/src/passes/RemoveUnusedModuleElements.cpp @@ -116,6 +116,18 @@ struct ReachabilityAnalyzer : public PostWalker<ReachabilityAnalyzer> { usesMemory = true; } } + void visitThrow(Throw* curr) { + if (reachable.count(ModuleElement(ModuleElementKind::Event, curr->event)) == + 0) { + queue.emplace_back(ModuleElementKind::Event, curr->event); + } + } + void visitBrOnExn(BrOnExn* curr) { + if (reachable.count(ModuleElement(ModuleElementKind::Event, curr->event)) == + 0) { + queue.emplace_back(ModuleElementKind::Event, curr->event); + } + } }; // Finds function type usage |