[lld] r289067 - Inline function called only once.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 08:26:20 PST 2016


Author: rafael
Date: Thu Dec  8 10:26:20 2016
New Revision: 289067

URL: http://llvm.org/viewvc/llvm-project?rev=289067&view=rev
Log:
Inline function called only once.

Modified:
    lld/trunk/ELF/SymbolTable.cpp
    lld/trunk/ELF/SymbolTable.h

Modified: lld/trunk/ELF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=289067&r1=289066&r2=289067&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.cpp (original)
+++ lld/trunk/ELF/SymbolTable.cpp Thu Dec  8 10:26:20 2016
@@ -460,20 +460,6 @@ template <class ELFT> SymbolBody *Symbol
   return SymVector[V.Idx]->body();
 }
 
-// Returns a list of defined symbols that match with a given pattern.
-template <class ELFT>
-std::vector<SymbolBody *> SymbolTable<ELFT>::findAll(StringRef GlobPat) {
-  std::vector<SymbolBody *> Res;
-  StringMatcher M({GlobPat});
-  for (Symbol *Sym : SymVector) {
-    SymbolBody *B = Sym->body();
-    StringRef Name = B->getName();
-    if (!B->isUndefined() && M.match(Name))
-      Res.push_back(B);
-  }
-  return Res;
-}
-
 template <class ELFT>
 void SymbolTable<ELFT>::addLazyArchive(ArchiveFile *F,
                                        const object::Archive::Symbol Sym) {
@@ -600,10 +586,11 @@ std::vector<SymbolBody *> SymbolTable<EL
 
 template <class ELFT>
 std::vector<SymbolBody *> SymbolTable<ELFT>::findAll(SymbolVersion Ver) {
+  std::vector<SymbolBody *> Res;
+  StringMatcher M({Ver.Name});
+
   if (Ver.IsExternCpp) {
     initDemangledSyms();
-    std::vector<SymbolBody *> Res;
-    StringMatcher M({Ver.Name});
     for (auto &P : *DemangledSyms)
       if (M.match(P.first()))
         for (SymbolBody *Body : P.second)
@@ -611,7 +598,14 @@ std::vector<SymbolBody *> SymbolTable<EL
             Res.push_back(Body);
     return Res;
   }
-  return findAll(Ver.Name);
+
+  for (Symbol *Sym : SymVector) {
+    SymbolBody *B = Sym->body();
+    StringRef Name = B->getName();
+    if (!B->isUndefined() && M.match(Name))
+      Res.push_back(B);
+  }
+  return Res;
 }
 
 // If there's only one anonymous version definition in a version

Modified: lld/trunk/ELF/SymbolTable.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.h?rev=289067&r1=289066&r2=289067&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.h (original)
+++ lld/trunk/ELF/SymbolTable.h Thu Dec  8 10:26:20 2016
@@ -92,7 +92,6 @@ public:
   std::vector<InputSectionBase<ELFT> *> Sections;
 
 private:
-  std::vector<SymbolBody *> findAll(StringRef GlobPat);
   std::pair<Symbol *, bool> insert(StringRef Name);
   std::pair<Symbol *, bool> insert(StringRef Name, uint8_t Type,
                                    uint8_t Visibility, bool CanOmitFromDynSym,




More information about the llvm-commits mailing list