[PGO] Simplify string parsing

Patch Suggested by Vedant.

llvm-svn: 256785
This commit is contained in:
Xinliang David Li 2016-01-04 22:09:26 +00:00
parent 120fe2e898
commit 204efe2de8
1 changed files with 3 additions and 13 deletions

View File

@ -245,20 +245,10 @@ int readPGOFuncNameStrings(StringRef NameStrings, InstrProfSymtab &Symtab) {
P += UncompressedSize;
}
// Now parse the name strings.
size_t NameStart = 0;
bool isLast = false;
do {
size_t NameStop = NameStrings.find(' ', NameStart);
if (NameStop == StringRef::npos)
NameStop = NameStrings.size();
if (NameStop >= NameStrings.size() - 1)
isLast = true;
StringRef Name = NameStrings.substr(NameStart, NameStop - NameStart);
SmallVector<StringRef, 0> Names;
NameStrings.split(Names, ' ');
for (StringRef &Name : Names)
Symtab.addFuncName(Name);
if (isLast)
break;
NameStart = NameStop + 1;
} while (true);
while (P < EndP && *P == 0)
P++;