From 8048fe2b8c13d72554405febcad5ef5845555d7d Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Fri, 29 Mar 2019 16:21:16 +0000 Subject: [PATCH] [ELF][MachO][wasm] Simplify range-style std::find{,_if} with STLExtras.h utilities. NFC llvm-svn: 357269 --- lld/ELF/AArch64ErrataFix.cpp | 6 +++--- lld/ELF/EhFrame.cpp | 2 +- lld/ELF/Writer.cpp | 2 +- lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp | 12 ++++-------- lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp | 3 +-- lld/lib/ReaderWriter/MachO/StubsPass.cpp | 5 ++--- lld/wasm/Writer.cpp | 8 ++++---- 7 files changed, 16 insertions(+), 22 deletions(-) diff --git a/lld/ELF/AArch64ErrataFix.cpp b/lld/ELF/AArch64ErrataFix.cpp index a0653b9..78e8d29 100644 --- a/lld/ELF/AArch64ErrataFix.cpp +++ b/lld/ELF/AArch64ErrataFix.cpp @@ -551,9 +551,9 @@ static void implementPatch(uint64_t AdrpAddr, uint64_t PatcheeOffset, // and replace the relocation with a R_AARCH_JUMP26 branch relocation. // Case 4: No relocation. We must create a new R_AARCH64_JUMP26 branch // relocation at the offset. - auto RelIt = std::find_if( - IS->Relocations.begin(), IS->Relocations.end(), - [=](const Relocation &R) { return R.Offset == PatcheeOffset; }); + auto RelIt = llvm::find_if(IS->Relocations, [=](const Relocation &R) { + return R.Offset == PatcheeOffset; + }); if (RelIt != IS->Relocations.end() && (RelIt->Type == R_AARCH64_JUMP26 || RelIt->Expr == R_RELAX_TLS_IE_TO_LE)) return; diff --git a/lld/ELF/EhFrame.cpp b/lld/ELF/EhFrame.cpp index 1d3745e..236b895 100644 --- a/lld/ELF/EhFrame.cpp +++ b/lld/ELF/EhFrame.cpp @@ -96,7 +96,7 @@ void EhReader::skipBytes(size_t Count) { // Read a null-terminated string. StringRef EhReader::readString() { - const uint8_t *End = std::find(D.begin(), D.end(), '\0'); + const uint8_t *End = llvm::find(D, '\0'); if (End == D.end()) failOn(D.data(), "corrupted CIE (failed to read string)"); StringRef S = toStringRef(D.slice(0, End - D.begin())); diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 2d9019d..16b9a22 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -2029,7 +2029,7 @@ template void Writer::fixSectionAlignments() { // Find the first section after PT_GNU_RELRO. If it is in a PT_LOAD we // have to align it to a page. auto End = OutputSections.end(); - auto I = std::find(OutputSections.begin(), End, P->LastSec); + auto I = llvm::find(OutputSections, P->LastSec); if (I == End || (I + 1) == End) continue; diff --git a/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp b/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp index 02eba36..de5adb0 100644 --- a/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp +++ b/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp @@ -387,12 +387,9 @@ private: // Gather the personality functions now, so that they're in deterministic // order (derived from the DefinedAtom order). - if (unwindEntry.personalityFunction) { - auto pFunc = std::find(personalities.begin(), personalities.end(), - unwindEntry.personalityFunction); - if (pFunc == personalities.end()) - personalities.push_back(unwindEntry.personalityFunction); - } + if (unwindEntry.personalityFunction && + !llvm::count(personalities, unwindEntry.personalityFunction)) + personalities.push_back(unwindEntry.personalityFunction); } } @@ -551,8 +548,7 @@ private: } } - auto personality = std::find(personalities.begin(), personalities.end(), - entry.personalityFunction); + auto personality = llvm::find(personalities, entry.personalityFunction); uint32_t personalityIdx = personality == personalities.end() ? 0 : personality - personalities.begin() + 1; diff --git a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp index 1e8630a..a9683d0 100644 --- a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp +++ b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp @@ -767,8 +767,7 @@ void MachOLinkingContext::registerDylib(MachODylibFile *dylib, bool upward) const { std::lock_guard lock(_dylibsMutex); - if (std::find(_allDylibs.begin(), - _allDylibs.end(), dylib) == _allDylibs.end()) + if (!llvm::count(_allDylibs, dylib)) _allDylibs.push_back(dylib); _pathToDylibMap[dylib->installName()] = dylib; // If path is different than install name, register path too. diff --git a/lld/lib/ReaderWriter/MachO/StubsPass.cpp b/lld/lib/ReaderWriter/MachO/StubsPass.cpp index e8f3541..fbbd8b2 100644 --- a/lld/lib/ReaderWriter/MachO/StubsPass.cpp +++ b/lld/lib/ReaderWriter/MachO/StubsPass.cpp @@ -270,9 +270,8 @@ public: mergedFile.addAtom(*helperCacheNLPAtom); // Add reference to dyld_stub_binder in libSystem.dylib - auto I = std::find_if( - mergedFile.sharedLibrary().begin(), mergedFile.sharedLibrary().end(), - [&](const SharedLibraryAtom *atom) { + auto I = llvm::find_if( + mergedFile.sharedLibrary(), [&](const SharedLibraryAtom *atom) { return atom->name().equals(_stubInfo.binderSymbolName); }); assert(I != mergedFile.sharedLibrary().end() && diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp index 480257f..63e33d6 100644 --- a/lld/wasm/Writer.cpp +++ b/lld/wasm/Writer.cpp @@ -687,10 +687,10 @@ void Writer::createProducersSection() { std::make_pair(&Info.SDKs, &SDKs)}) for (auto &Producer : *Producers.first) if (Producers.second->end() == - std::find_if(Producers.second->begin(), Producers.second->end(), - [&](std::pair Seen) { - return Seen.first == Producer.first; - })) + llvm::find_if(*Producers.second, + [&](std::pair Seen) { + return Seen.first == Producer.first; + })) Producers.second->push_back(Producer); } int FieldCount = -- 2.7.4