summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cov/CoverageSummaryInfo.h
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-02-05 20:10:58 +0000
committerVedant Kumar <vsk@apple.com>2017-02-05 20:10:58 +0000
commit6e28bcdc27b222077085e2afb8c30f47e455e790 (patch)
tree290754a646052edb879c0d8f0497a5c3b73df653 /llvm/tools/llvm-cov/CoverageSummaryInfo.h
parentb6bfd47fd256e2e452177b1feaf3e889cc941384 (diff)
downloadbcm5719-llvm-6e28bcdc27b222077085e2afb8c30f47e455e790.tar.gz
bcm5719-llvm-6e28bcdc27b222077085e2afb8c30f47e455e790.zip
[llvm-cov] Refactor logic for storing demangled symbols, NFC
llvm-svn: 294135
Diffstat (limited to 'llvm/tools/llvm-cov/CoverageSummaryInfo.h')
-rw-r--r--llvm/tools/llvm-cov/CoverageSummaryInfo.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/tools/llvm-cov/CoverageSummaryInfo.h b/llvm/tools/llvm-cov/CoverageSummaryInfo.h
index c04a4d42ccd..680fc375768 100644
--- a/llvm/tools/llvm-cov/CoverageSummaryInfo.h
+++ b/llvm/tools/llvm-cov/CoverageSummaryInfo.h
@@ -160,6 +160,19 @@ struct FileCoverageSummary {
}
};
+/// \brief A cache for demangled symbols.
+struct DemangleCache {
+ StringMap<std::string> DemangledNames;
+
+ /// \brief Demangle \p Sym if possible. Otherwise, just return \p Sym.
+ StringRef demangle(StringRef Sym) const {
+ const auto DemangledName = DemangledNames.find(Sym);
+ if (DemangledName == DemangledNames.end())
+ return Sym;
+ return DemangledName->getValue();
+ }
+};
+
} // namespace llvm
#endif // LLVM_COV_COVERAGESUMMARYINFO_H
OpenPOWER on IntegriCloud