diff options
Diffstat (limited to 'llvm/tools/sancov/sancov.cc')
-rw-r--r-- | llvm/tools/sancov/sancov.cc | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/llvm/tools/sancov/sancov.cc b/llvm/tools/sancov/sancov.cc index 5ad6438b3c1..4f8df41f2f1 100644 --- a/llvm/tools/sancov/sancov.cc +++ b/llvm/tools/sancov/sancov.cc @@ -234,7 +234,7 @@ struct AddrInfo : public DILineInfo { } private: - static std::string normalizeFilename(std::string FileName) { + static std::string normalizeFilename(const std::string &FileName) { SmallString<256> S(FileName); sys::path::remove_dots(S, /* remove_dot_dot */ true); return S.str().str(); @@ -284,7 +284,7 @@ private: }; // Collect all debug info for given addresses. -static std::vector<AddrInfo> getAddrInfo(std::string ObjectFile, +static std::vector<AddrInfo> getAddrInfo(const std::string &ObjectFile, const std::set<uint64_t> &Addrs, bool InlinedCode) { std::vector<AddrInfo> Result; @@ -416,7 +416,7 @@ static void getObjectCoveragePoints(const object::ObjectFile &O, static void visitObjectFiles(const object::Archive &A, - std::function<void(const object::ObjectFile &)> Fn) { + function_ref<void(const object::ObjectFile &)> Fn) { for (auto &ErrorOrChild : A.children()) { FailIfError(ErrorOrChild); const object::Archive::Child &C = *ErrorOrChild; @@ -430,8 +430,8 @@ visitObjectFiles(const object::Archive &A, } static void -visitObjectFiles(std::string FileName, - std::function<void(const object::ObjectFile &)> Fn) { +visitObjectFiles(const std::string &FileName, + function_ref<void(const object::ObjectFile &)> Fn) { Expected<object::OwningBinary<object::Binary>> BinaryOrErr = object::createBinary(FileName); if (!BinaryOrErr) @@ -446,7 +446,7 @@ visitObjectFiles(std::string FileName, FailIfError(object::object_error::invalid_file_type); } -std::set<uint64_t> findSanitizerCovFunctions(std::string FileName) { +std::set<uint64_t> findSanitizerCovFunctions(const std::string &FileName) { std::set<uint64_t> Result; visitObjectFiles(FileName, [&](const object::ObjectFile &O) { auto Addrs = findSanitizerCovFunctions(O); @@ -458,7 +458,7 @@ std::set<uint64_t> findSanitizerCovFunctions(std::string FileName) { // Locate addresses of all coverage points in a file. Coverage point // is defined as the 'address of instruction following __sanitizer_cov // call - 1'. -std::set<uint64_t> getCoveragePoints(std::string FileName) { +std::set<uint64_t> getCoveragePoints(const std::string &FileName) { std::set<uint64_t> Result; visitObjectFiles(FileName, [&](const object::ObjectFile &O) { getObjectCoveragePoints(O, &Result); @@ -466,7 +466,7 @@ std::set<uint64_t> getCoveragePoints(std::string FileName) { return Result; } -static void printCovPoints(std::string ObjFile, raw_ostream &OS) { +static void printCovPoints(const std::string &ObjFile, raw_ostream &OS) { for (uint64_t Addr : getCoveragePoints(ObjFile)) { OS << "0x"; OS.write_hex(Addr); @@ -515,7 +515,7 @@ static std::string formatHtmlPct(size_t Pct) { return Zeroes + Num; } -static std::string anchorName(std::string Anchor) { +static std::string anchorName(const std::string &Anchor) { llvm::MD5 Hasher; llvm::MD5::MD5Result Hash; Hasher.update(Anchor); @@ -526,7 +526,7 @@ static std::string anchorName(std::string Anchor) { return HexString.str().str(); } -static ErrorOr<bool> isCoverageFile(std::string FileName) { +static ErrorOr<bool> isCoverageFile(const std::string &FileName) { ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr = MemoryBuffer::getFile(FileName); if (!BufOrErr) { @@ -564,7 +564,8 @@ static raw_ostream &operator<<(raw_ostream &OS, const CoverageStats &Stats) { class CoverageData { public: // Read single file coverage data. - static ErrorOr<std::unique_ptr<CoverageData>> read(std::string FileName) { + static ErrorOr<std::unique_ptr<CoverageData>> + read(const std::string &FileName) { ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr = MemoryBuffer::getFile(FileName); if (!BufOrErr) @@ -847,7 +848,7 @@ static void printFunctionLocs(const SourceCoverageData::FunctionLocs &FnLocs, class CoverageDataWithObjectFile : public CoverageData { public: static ErrorOr<std::unique_ptr<CoverageDataWithObjectFile>> - readAndMerge(std::string ObjectFile, + readAndMerge(const std::string &ObjectFile, const std::vector<std::string> &FileNames) { auto MergedDataOrError = CoverageData::readAndMerge(FileNames); if (!MergedDataOrError) |