[llvm] r206139 - tools: avoid a string duplication
Saleem Abdulrasool
compnerd at compnerd.org
Sun Apr 13 15:54:11 PDT 2014
Author: compnerd
Date: Sun Apr 13 17:54:11 2014
New Revision: 206139
URL: http://llvm.org/viewvc/llvm-project?rev=206139&view=rev
Log:
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!
Modified:
llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=206139&r1=206138&r2=206139&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Sun Apr 13 17:54:11 2014
@@ -695,14 +695,10 @@ static void PrintCOFFSymbolTable(const C
, 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;
More information about the llvm-commits
mailing list