From: Saleem Abdulrasool Date: Sun, 13 Apr 2014 22:54:11 +0000 (+0000) Subject: tools: avoid a string duplication X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=1a1689881332cfe42ca15ead7314bea7ede3ca71 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206139 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index 095fdca2dd0..313816e56e9 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/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(AI, AF))) - return; - FileName.append(&AF->FileName[0], &AF->FileName[18]); - } - outs() << "AUX " << FileName << '\n'; + const coff_aux_file *AF; + if (error(coff->getAuxSymbol(i, AF))) + return; + outs() << "AUX " << StringRef(AF->FileName) << '\n'; i = i + aux_count; aux_count = 0; break;