Differential Revision: https://reviews.llvm.org/D60813
llvm-svn: 358565
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;
// 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.