diff options
author | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2017-09-12 02:27:39 +0000 |
---|---|---|
committer | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2017-09-12 02:27:39 +0000 |
commit | 9022eeaa24764e8bf5eccf9137af8d89323a8355 (patch) | |
tree | 11a15d8869db0892b45b22a164d64a8857376d5f /tools/llvm-objdump/llvm-objdump.cpp | |
parent | 11f2cba55ecae09563612bd9b71dff3c78b27546 (diff) |
Remove unneccessary string copies from method invocations.
Summary:
Change string parameter 'File' to be passed by const-reference to
reduce copies.
Patch by Mitch Phillips
Reviewers: vlad.tsyrklevich
Reviewed By: vlad.tsyrklevich
Subscribers: Eugene.Zelenko, llvm-commits
Differential Revision: https://reviews.llvm.org/D37652
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312994 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | tools/llvm-objdump/llvm-objdump.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index 6cb7dc4c74d..266b556360b 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -418,7 +418,7 @@ namespace { class SourcePrinter { protected: DILineInfo OldLineInfo; - const ObjectFile *Obj; + const ObjectFile *Obj = nullptr; std::unique_ptr<symbolize::LLVMSymbolizer> Symbolizer; // File name to file contents of source std::unordered_map<std::string, std::unique_ptr<MemoryBuffer>> SourceCache; @@ -426,22 +426,22 @@ protected: std::unordered_map<std::string, std::vector<StringRef>> LineCache; private: - bool cacheSource(std::string File); + bool cacheSource(const std::string& File); public: - virtual ~SourcePrinter() {} - SourcePrinter() : Obj(nullptr), Symbolizer(nullptr) {} + SourcePrinter() = default; SourcePrinter(const ObjectFile *Obj, StringRef DefaultArch) : Obj(Obj) { symbolize::LLVMSymbolizer::Options SymbolizerOpts( DILineInfoSpecifier::FunctionNameKind::None, true, false, false, DefaultArch); Symbolizer.reset(new symbolize::LLVMSymbolizer(SymbolizerOpts)); } + virtual ~SourcePrinter() = default; virtual void printSourceLine(raw_ostream &OS, uint64_t Address, StringRef Delimiter = "; "); }; -bool SourcePrinter::cacheSource(std::string File) { +bool SourcePrinter::cacheSource(const std::string& File) { auto BufferOrError = MemoryBuffer::getFile(File); if (!BufferOrError) return false; @@ -509,7 +509,7 @@ static bool isArmElf(const ObjectFile *Obj) { class PrettyPrinter { public: - virtual ~PrettyPrinter(){} + virtual ~PrettyPrinter() = default; virtual void printInst(MCInstPrinter &IP, const MCInst *MI, ArrayRef<uint8_t> Bytes, uint64_t Address, raw_ostream &OS, StringRef Annot, |