From 1a1689881332cfe42ca15ead7314bea7ede3ca71 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Sun, 13 Apr 2014 22:54:11 +0000 Subject: [PATCH] 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 --- tools/llvm-objdump/llvm-objdump.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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;