summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-04-13 22:54:11 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-04-13 22:54:11 +0000
commit63a0dd6540e59b13d54a201de01c3f2c3793196b (patch)
tree93e46f70f8923dd2d254987f9ee0abf72cdc9c47 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent2c08051cc58d4b9b3ce2b5312e7f3b93dd431ffa (diff)
downloadbcm5719-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.cpp12
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;
OpenPOWER on IntegriCloud