Inline function called only once.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 8 Dec 2016 16:26:20 +0000 (16:26 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 8 Dec 2016 16:26:20 +0000 (16:26 +0000)
llvm-svn: 289067

lld/ELF/SymbolTable.cpp
lld/ELF/SymbolTable.h

index e25bf33..4fb611d 100644 (file)
@@ -460,20 +460,6 @@ template <class ELFT> SymbolBody *SymbolTable<ELFT>::find(StringRef Name) {
   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<ELFT>::find(SymbolVersion Ver) {
 
 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<ELFT>::findAll(SymbolVersion Ver) {
             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
index ab1fa89..0e1b62f 100644 (file)
@@ -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,