summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-05-16 17:06:02 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-05-16 17:06:02 -0700
commit3a01c5d7d1f03fb88d249ca1ecca6325b77e799a (patch)
tree0d1654534909863047c575d169e0dd392100fd93 /src
parent70e761dd4e75f658797457c427e1388dd91f678a (diff)
downloadbinaryen-3a01c5d7d1f03fb88d249ca1ecca6325b77e799a.tar.gz
binaryen-3a01c5d7d1f03fb88d249ca1ecca6325b77e799a.tar.bz2
binaryen-3a01c5d7d1f03fb88d249ca1ecca6325b77e799a.zip
add total vars (non-param locals) to metrics
Diffstat (limited to 'src')
-rw-r--r--src/passes/Metrics.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/passes/Metrics.cpp b/src/passes/Metrics.cpp
index c18d1d7cd..a6d51adbf 100644
--- a/src/passes/Metrics.cpp
+++ b/src/passes/Metrics.cpp
@@ -44,8 +44,16 @@ struct Metrics : public WalkerPass<PostWalker<Metrics, UnifiedExpressionVisitor<
keys.push_back(i.first);
total += i.second;
}
+ // add total
keys.push_back("[total]");
counts["[total]"] = total;
+ // add vars
+ size_t vars = 0;
+ for (auto& func : module->functions) {
+ vars += func->getNumVars();
+ }
+ keys.push_back("[vars]");
+ counts["[vars]"] = vars;
sort(keys.begin(), keys.end(), [](const char* a, const char* b) -> bool {
return strcmp(b, a) > 0;
});