Inline two functions called only once. NFC.

llvm-svn: 289065
This commit is contained in:
Rafael Espindola 2016-12-08 16:02:48 +00:00
parent c65aee64ec
commit defdfa86c1
2 changed files with 19 additions and 28 deletions

View File

@ -584,41 +584,34 @@ void SymbolTable<ELFT>::initDemangledSyms() {
}
}
template <class ELFT>
ArrayRef<SymbolBody *> SymbolTable<ELFT>::findDemangled(StringRef Name) {
initDemangledSyms();
auto I = DemangledSyms->find(Name);
if (I != DemangledSyms->end())
return I->second;
return {};
}
template <class ELFT>
std::vector<SymbolBody *> SymbolTable<ELFT>::find(SymbolVersion Ver) {
if (Ver.IsExternCpp)
return findDemangled(Ver.Name);
if (Ver.IsExternCpp) {
initDemangledSyms();
auto I = DemangledSyms->find(Ver.Name);
if (I != DemangledSyms->end())
return I->second;
return {};
}
std::vector<SymbolBody *> Syms;
Syms.push_back(find(Ver.Name));
return Syms;
}
template <class ELFT>
std::vector<SymbolBody *>
SymbolTable<ELFT>::findAllDemangled(StringRef GlobPat) {
initDemangledSyms();
std::vector<SymbolBody *> Res;
StringMatcher M({GlobPat});
for (auto &P : *DemangledSyms)
if (M.match(P.first()))
for (SymbolBody *Body : P.second)
if (!Body->isUndefined())
Res.push_back(Body);
return Res;
}
template <class ELFT>
std::vector<SymbolBody *> SymbolTable<ELFT>::findAll(SymbolVersion Ver) {
return Ver.IsExternCpp ? findAllDemangled(Ver.Name) : findAll(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)
if (!Body->isUndefined())
Res.push_back(Body);
return Res;
}
return findAll(Ver.Name);
}
// If there's only one anonymous version definition in a version

View File

@ -98,9 +98,7 @@ private:
uint8_t Visibility, bool CanOmitFromDynSym,
InputFile *File);
ArrayRef<SymbolBody *> findDemangled(StringRef Name);
std::vector<SymbolBody *> find(SymbolVersion Ver);
std::vector<SymbolBody *> findAllDemangled(StringRef GlobPat);
std::vector<SymbolBody *> findAll(SymbolVersion Ver);
void initDemangledSyms();