diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-13 22:54:11 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-13 22:54:11 +0000 |
commit | 63a0dd6540e59b13d54a201de01c3f2c3793196b (patch) | |
tree | 93e46f70f8923dd2d254987f9ee0abf72cdc9c47 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 2c08051cc58d4b9b3ce2b5312e7f3b93dd431ffa (diff) | |
download | bcm5719-llvm-63a0dd6540e59b13d54a201de01c3f2c3793196b.tar.gz bcm5719-llvm-63a0dd6540e59b13d54a201de01c3f2c3793196b.zip |
tools: avoid a string duplication
The auxiliary file records are contiguous and only contain the filename.
Construct a StringRef directly rather than copying to a temporary buffer.
Suggested by majnemer on IRC!
llvm-svn: 206139
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 095fdca2dd0..313816e56e9 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -695,14 +695,10 @@ static void PrintCOFFSymbolTable(const COFFObjectFile *coff) { , unsigned(asd->Selection)); break; case COFF::IMAGE_SYM_CLASS_FILE: - SmallString<261> FileName; - for (unsigned AI = i, AE = i + aux_count + 1; AI < AE; ++AI) { - const coff_aux_file *AF; - if (error(coff->getAuxSymbol<coff_aux_file>(AI, AF))) - return; - FileName.append(&AF->FileName[0], &AF->FileName[18]); - } - outs() << "AUX " << FileName << '\n'; + const coff_aux_file *AF; + if (error(coff->getAuxSymbol<coff_aux_file>(i, AF))) + return; + outs() << "AUX " << StringRef(AF->FileName) << '\n'; i = i + aux_count; aux_count = 0; break; |