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 | f162013e6e5eef49af8e2d2ba185a3e995d8ec72 (patch) | |
tree | fa04209ca1eaf39e4880560ed8b3ce7b345d825a /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 3f26dac416482ce224d182f1d22b6872f01b3ccf (diff) | |
download | bcm5719-llvm-f162013e6e5eef49af8e2d2ba185a3e995d8ec72.tar.gz bcm5719-llvm-f162013e6e5eef49af8e2d2ba185a3e995d8ec72.zip |
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
llvm-svn: 312994
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 6cb7dc4c74d..266b556360b 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/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, |