From 9e0171fbb6c459e75f2cdd22de2931e6cbad1e66 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 6 Mar 2018 22:48:46 +0000 Subject: [PATCH] Do not create temporary strings just to print out spaces. NFC. llvm-svn: 326841 --- lld/COFF/MapFile.cpp | 9 +++++---- lld/ELF/MapFile.cpp | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lld/COFF/MapFile.cpp b/lld/COFF/MapFile.cpp index d475641533a0..c157490ad187 100644 --- a/lld/COFF/MapFile.cpp +++ b/lld/COFF/MapFile.cpp @@ -36,14 +36,15 @@ using namespace lld::coff; typedef DenseMap> SymbolMapTy; +static const std::string Indent1 = " "; // 8 spaces +static const std::string Indent2 = " "; // 16 spaces + // Print out the first three columns of a line. static void writeHeader(raw_ostream &OS, uint64_t Addr, uint64_t Size, uint64_t Align) { OS << format("%08llx %08llx %5lld ", Addr, Size, Align); } -static std::string indent(int Depth) { return std::string(Depth * 8, ' '); } - // Returns a list of all symbols that we want to print out. static std::vector getSymbols() { std::vector V; @@ -78,7 +79,7 @@ getSymbolStrings(ArrayRef Syms) { for_each_n(parallel::par, (size_t)0, Syms.size(), [&](size_t I) { raw_string_ostream OS(Str[I]); writeHeader(OS, Syms[I]->getRVA(), 0, 0); - OS << indent(2) << toString(*Syms[I]); + OS << Indent2 << toString(*Syms[I]); }); DenseMap Ret; @@ -115,7 +116,7 @@ void coff::writeMapFile(ArrayRef OutputSections) { continue; writeHeader(OS, SC->getRVA(), SC->getSize(), SC->Alignment); - OS << indent(1) << SC->File->getName() << ":(" << SC->getSectionName() + OS << Indent1 << SC->File->getName() << ":(" << SC->getSectionName() << ")\n"; for (DefinedRegular *Sym : SectionSyms[SC]) OS << SymStr[Sym] << '\n'; diff --git a/lld/ELF/MapFile.cpp b/lld/ELF/MapFile.cpp index ae13f13e9746..54455f2d9331 100644 --- a/lld/ELF/MapFile.cpp +++ b/lld/ELF/MapFile.cpp @@ -38,6 +38,9 @@ using namespace lld::elf; typedef DenseMap> SymbolMapTy; +static const std::string Indent1 = " "; // 8 spaces +static const std::string Indent2 = " "; // 16 spaces + // Print out the first three columns of a line. static void writeHeader(raw_ostream &OS, uint64_t Addr, uint64_t Size, uint64_t Align) { @@ -45,8 +48,6 @@ static void writeHeader(raw_ostream &OS, uint64_t Addr, uint64_t Size, OS << format("%0*llx %0*llx %5lld ", W, Addr, W, Size, Align); } -static std::string indent(int Depth) { return std::string(Depth * 8, ' '); } - // Returns a list of all symbols that we want to print out. static std::vector getSymbols() { std::vector V; @@ -100,7 +101,7 @@ getSymbolStrings(ArrayRef Syms) { parallelForEachN(0, Syms.size(), [&](size_t I) { raw_string_ostream OS(Str[I]); writeHeader(OS, Syms[I]->getVA(), Syms[I]->getSize(), 0); - OS << indent(2) << toString(*Syms[I]); + OS << Indent2 << toString(*Syms[I]); }); DenseMap Ret; @@ -139,7 +140,7 @@ void elf::writeMapFile() { // Dump symbols for each input section. for (InputSection *IS : getInputSections(OSec)) { writeHeader(OS, OSec->Addr + IS->OutSecOff, IS->getSize(), IS->Alignment); - OS << indent(1) << toString(IS) << '\n'; + OS << Indent1 << toString(IS) << '\n'; for (Symbol *Sym : SectionSyms[IS]) OS << SymStr[Sym] << '\n'; }