summaryrefslogtreecommitdiff
path: root/src/passes/RemoveUnusedModuleElements.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/RemoveUnusedModuleElements.cpp')
-rw-r--r--src/passes/RemoveUnusedModuleElements.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/passes/RemoveUnusedModuleElements.cpp b/src/passes/RemoveUnusedModuleElements.cpp
index 436e01885..8f8fc24a3 100644
--- a/src/passes/RemoveUnusedModuleElements.cpp
+++ b/src/passes/RemoveUnusedModuleElements.cpp
@@ -60,23 +60,23 @@ struct ReachabilityAnalyzer : public PostWalker<ReachabilityAnalyzer> {
// main loop
while (queue.size()) {
- auto& curr = queue.back();
+ auto curr = queue.back();
queue.pop_back();
- if (reachable.count(curr) == 0) {
- reachable.insert(curr);
- if (curr.first == ModuleElementKind::Function) {
+ if (reachable.emplace(curr).second) {
+ auto& [kind, value] = curr;
+ if (kind == ModuleElementKind::Function) {
// if not an import, walk it
- auto* func = module->getFunction(curr.second);
+ auto* func = module->getFunction(value);
if (!func->imported()) {
walk(func->body);
}
- } else if (curr.first == ModuleElementKind::Global) {
+ } else if (kind == ModuleElementKind::Global) {
// if not imported, it has an init expression we need to walk
- auto* global = module->getGlobal(curr.second);
+ auto* global = module->getGlobal(value);
if (!global->imported()) {
walk(global->init);
}
- } else if (curr.first == ModuleElementKind::Table) {
+ } else if (kind == ModuleElementKind::Table) {
ModuleUtils::iterTableSegments(
*module, curr.second, [&](ElementSegment* segment) {
walk(segment->offset);