[ELF] Use llvm::bsearch. NFC
authorFangrui Song <maskray@google.com>
Wed, 17 Apr 2019 08:00:46 +0000 (08:00 +0000)
committerFangrui Song <maskray@google.com>
Wed, 17 Apr 2019 08:00:46 +0000 (08:00 +0000)
Differential Revision: https://reviews.llvm.org/D60813

llvm-svn: 358565

lld/ELF/DWARF.cpp
lld/ELF/InputSection.cpp

index 2e0e677..6b90a03 100644 (file)
@@ -81,9 +81,8 @@ template <class RelTy>
 Optional<RelocAddrEntry>
 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &Sec, uint64_t Pos,
                            ArrayRef<RelTy> Rels) const {
-  auto It = std::lower_bound(
-      Rels.begin(), Rels.end(), Pos,
-      [](const RelTy &A, uint64_t B) { return A.r_offset < B; });
+  auto It =
+      llvm::bsearch(Rels, [=](const RelTy &A) { return Pos <= A.r_offset; });
   if (It == Rels.end() || It->r_offset != Pos)
     return None;
   const RelTy &Rel = *It;
index 58c3513..0ed3a70 100644 (file)
@@ -1224,11 +1224,9 @@ SectionPiece *MergeInputSection::getSectionPiece(uint64_t Offset) {
 
   // If Offset is not at beginning of a section piece, it is not in the map.
   // In that case we need to  do a binary search of the original section piece vector.
-  auto It2 =
-      llvm::upper_bound(Pieces, Offset, [](uint64_t Offset, SectionPiece P) {
-        return Offset < P.InputOff;
-      });
-  return &It2[-1];
+  auto It = llvm::bsearch(Pieces,
+                          [=](SectionPiece P) { return Offset < P.InputOff; });
+  return &It[-1];
 }
 
 // Returns the offset in an output section for a given input offset.