[llvm] d87f9e2 - llvm/tools: Fix some performance-for-range-copy issues. NFC

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 27 13:27:56 PDT 2023


Author: Fangrui Song
Date: 2023-09-27T13:27:51-07:00
New Revision: d87f9e287217053bd4613e025c3fb0a941fd0196

URL: https://github.com/llvm/llvm-project/commit/d87f9e287217053bd4613e025c3fb0a941fd0196
DIFF: https://github.com/llvm/llvm-project/commit/d87f9e287217053bd4613e025c3fb0a941fd0196.diff

LOG: llvm/tools: Fix some performance-for-range-copy issues. NFC

Inspired by https://reviews.llvm.org/D139487 , but I apply manual fixes
when clang-tidy does not provide the best fix.

Added: 
    

Modified: 
    llvm/tools/dsymutil/BinaryHolder.cpp
    llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
    llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp
    llvm/tools/llvm-xray/xray-stacks.cpp
    llvm/tools/obj2yaml/dwarf2yaml.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/tools/dsymutil/BinaryHolder.cpp b/llvm/tools/dsymutil/BinaryHolder.cpp
index c6661f4058f102c..c19285eebdd744e 100644
--- a/llvm/tools/dsymutil/BinaryHolder.cpp
+++ b/llvm/tools/dsymutil/BinaryHolder.cpp
@@ -182,7 +182,7 @@ BinaryHolder::ArchiveEntry::getObjectEntry(StringRef Filename,
 
   for (const auto &Archive : Archives) {
     Error Err = Error::success();
-    for (auto Child : Archive->children(Err)) {
+    for (const auto &Child : Archive->children(Err)) {
       if (auto NameOrErr = Child.getName()) {
         if (*NameOrErr == ObjectFilename) {
           auto ModTimeOrErr = Child.getLastModified();

diff  --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index 156e10c84dddec9..8180ad2138f41fe 100644
--- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -337,10 +337,10 @@ static bool filterArch(ObjectFile &Obj) {
     return true;
 
   if (auto *MachO = dyn_cast<MachOObjectFile>(&Obj)) {
-    for (auto Arch : ArchFilters) {
+    for (const StringRef Arch : ArchFilters) {
       // Match architecture number.
       unsigned Value;
-      if (!StringRef(Arch).getAsInteger(0, Value))
+      if (!Arch.getAsInteger(0, Value))
         if (Value == getCPUType(*MachO))
           return true;
 
@@ -649,7 +649,7 @@ static bool dumpObjectFile(ObjectFile &Obj, DWARFContext &DICtx,
   // Handle the --name option.
   if (!Name.empty()) {
     StringSet<> Names;
-    for (auto name : Name)
+    for (const auto &name : Name)
       Names.insert((IgnoreCase && !UseRegex) ? StringRef(name).lower() : name);
 
     filterByName(Names, DICtx.normal_units(), OS, GetRegName);
@@ -698,7 +698,7 @@ static bool handleArchive(StringRef Filename, Archive &Arch,
                           HandlerFn HandleObj, raw_ostream &OS) {
   bool Result = true;
   Error Err = Error::success();
-  for (auto Child : Arch.children(Err)) {
+  for (const auto &Child : Arch.children(Err)) {
     auto BuffOrErr = Child.getMemoryBufferRef();
     error(Filename, BuffOrErr.takeError());
     auto NameOrErr = Child.getName();
@@ -848,19 +848,19 @@ int main(int argc, char **argv) {
 
   bool Success = true;
   if (Verify) {
-    for (auto Object : Objects)
+    for (StringRef Object : Objects)
       Success &= handleFile(Object, verifyObjectFile, OutputFile.os());
   } else if (Statistics) {
-    for (auto Object : Objects)
+    for (StringRef Object : Objects)
       Success &= handleFile(Object, collectStatsForObjectFile, OutputFile.os());
   } else if (ShowSectionSizes) {
-    for (auto Object : Objects)
+    for (StringRef Object : Objects)
       Success &= handleFile(Object, collectObjectSectionSizes, OutputFile.os());
   } else if (ShowSources) {
-    for (auto Object : Objects)
+    for (StringRef Object : Objects)
       Success &= handleFile(Object, collectObjectSources, OutputFile.os());
   } else {
-    for (auto Object : Objects)
+    for (StringRef Object : Objects)
       Success &= handleFile(Object, dumpObjectFile, OutputFile.os());
   }
 

diff  --git a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
index 672e8073beb7c8c..dc351c60e8d4100 100644
--- a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
+++ b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
@@ -213,14 +213,14 @@ static bool filterArch(MachOObjectFile &Obj) {
   Triple ObjTriple(Obj.getArchTriple());
   StringRef ObjArch = ObjTriple.getArchName();
 
-  for (auto Arch : ArchFilters) {
+  for (StringRef Arch : ArchFilters) {
     // Match name.
     if (Arch == ObjArch)
       return true;
 
     // Match architecture number.
     unsigned Value;
-    if (!StringRef(Arch).getAsInteger(0, Value))
+    if (!Arch.getAsInteger(0, Value))
       if (Value == getCPUType(Obj))
         return true;
   }
@@ -469,10 +469,9 @@ static llvm::Error convertFileToGSYM(raw_ostream &OS) {
     error(DsymObjectsOrErr.takeError());
   }
 
-  for (auto Object : Objects) {
-    if (auto Err = handleFileConversionToGSYM(Object, OutFile))
+  for (StringRef Object : Objects)
+    if (Error Err = handleFileConversionToGSYM(Object, OutFile))
       return Err;
-  }
   return Error::success();
 }
 

diff  --git a/llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp b/llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp
index 5ae720aace427d9..c7653b7c06d4848 100644
--- a/llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp
+++ b/llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp
@@ -55,7 +55,7 @@ void TypeReferenceTracker::mark() {
   // - globals
   // - modi symbols
   // - LF_UDT_MOD_SRC_LINE? VC always links these in.
-  for (SymbolGroup SG : File.symbol_groups()) {
+  for (const SymbolGroup &SG : File.symbol_groups()) {
     if (File.isObj()) {
       for (const auto &SS : SG.getDebugSubsections()) {
         // FIXME: Are there other type-referencing subsections? Inlinees?

diff  --git a/llvm/tools/llvm-xray/xray-stacks.cpp b/llvm/tools/llvm-xray/xray-stacks.cpp
index d04b998daccaff2..aebca9048d4d494 100644
--- a/llvm/tools/llvm-xray/xray-stacks.cpp
+++ b/llvm/tools/llvm-xray/xray-stacks.cpp
@@ -478,7 +478,7 @@ class StackTrie {
 
   /// Prints top stacks for each thread.
   void printPerThread(raw_ostream &OS, FuncIdConversionHelper &FN) {
-    for (auto iter : Roots) {
+    for (const auto &iter : Roots) {
       OS << "Thread " << iter.first << ":\n";
       print(OS, FN, iter.second);
       OS << "\n";
@@ -489,12 +489,8 @@ class StackTrie {
   template <AggregationType AggType>
   void printAllPerThread(raw_ostream &OS, FuncIdConversionHelper &FN,
                          StackOutputFormat format) {
-    for (auto iter : Roots) {
-      uint32_t threadId = iter.first;
-      RootVector &perThreadRoots = iter.second;
-      bool reportThreadId = true;
-      printAll<AggType>(OS, FN, perThreadRoots, threadId, reportThreadId);
-    }
+    for (const auto &iter : Roots)
+      printAll<AggType>(OS, FN, iter.second, iter.first, true);
   }
 
   /// Prints top stacks from looking at all the leaves and ignoring thread IDs.
@@ -521,7 +517,7 @@ class StackTrie {
   /// thread IDs.
   RootVector mergeAcrossThreads(std::forward_list<StackTrieNode> &NodeStore) {
     RootVector MergedByThreadRoots;
-    for (auto MapIter : Roots) {
+    for (const auto &MapIter : Roots) {
       const auto &RootNodeVector = MapIter.second;
       for (auto *Node : RootNodeVector) {
         auto MaybeFoundIter =

diff  --git a/llvm/tools/obj2yaml/dwarf2yaml.cpp b/llvm/tools/obj2yaml/dwarf2yaml.cpp
index f2c96968cc7deeb..b3062c40fd2432b 100644
--- a/llvm/tools/obj2yaml/dwarf2yaml.cpp
+++ b/llvm/tools/obj2yaml/dwarf2yaml.cpp
@@ -28,10 +28,11 @@ Error dumpDebugAbbrev(DWARFContext &DCtx, DWARFYAML::Data &Y) {
     uint64_t AbbrevTableID = 0;
     if (Error Err = AbbrevSetPtr->parse())
       return Err;
-    for (auto AbbrvDeclSet : *AbbrevSetPtr) {
+    for (const auto &AbbrvDeclSet : *AbbrevSetPtr) {
       Y.DebugAbbrev.emplace_back();
       Y.DebugAbbrev.back().ID = AbbrevTableID++;
-      for (auto AbbrvDecl : AbbrvDeclSet.second) {
+      for (const DWARFAbbreviationDeclaration &AbbrvDecl :
+           AbbrvDeclSet.second) {
         DWARFYAML::Abbrev Abbrv;
         Abbrv.Code = AbbrvDecl.getCode();
         Abbrv.Tag = AbbrvDecl.getTag();


        


More information about the llvm-commits mailing list