From 6e28bcdc27b222077085e2afb8c30f47e455e790 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Sun, 5 Feb 2017 20:10:58 +0000 Subject: [llvm-cov] Refactor logic for storing demangled symbols, NFC llvm-svn: 294135 --- llvm/tools/llvm-cov/CoverageSummaryInfo.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'llvm/tools/llvm-cov/CoverageSummaryInfo.h') 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 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 -- cgit v1.2.3