Lines Matching +defs:file +defs:end
104 void segregate(size_t begin, size_t end, uint32_t eqClassBase, bool constant);
117 size_t findBoundary(size_t begin, size_t end);
119 void forEachClassRange(size_t begin, size_t end,
200 void ICF<ELFT>::segregate(size_t begin, size_t end, uint32_t eqClassBase,
210 while (begin < end) {
215 sections.begin() + end, [&](InputSection *s) {
230 if (mid != end)
244 auto rai = ra.begin(), rae = ra.end(), rbi = rb.begin();
253 Symbol &sa = secA->file->getRelocTargetSym(*rai);
254 Symbol &sb = secB->file->getRelocTargetSym(*rbi);
344 auto rai = ra.begin(), rae = ra.end(), rbi = rb.begin();
347 Symbol &sa = secA->file->getRelocTargetSym(*rai);
348 Symbol &sb = secB->file->getRelocTargetSym(*rbi);
388 template <class ELFT> size_t ICF<ELFT>::findBoundary(size_t begin, size_t end) {
390 for (size_t i = begin + 1; i < end; ++i)
393 return end;
402 void ICF<ELFT>::forEachClassRange(size_t begin, size_t end,
404 while (begin < end) {
405 size_t mid = findBoundary(begin, end);
453 Symbol &s = isec->file->getRelocTargetSym(rel);
521 forEachClass([&](size_t begin, size_t end) {
522 segregate(begin, end, eqClassBase, true);
528 forEachClass([&](size_t begin, size_t end) {
529 segregate(begin, end, eqClassBase, false);
539 forEachClassRange(0, sections.size(), [&](size_t begin, size_t end) {
540 if (end - begin == 1)
543 for (size_t i = begin + 1; i < end; ++i) {
566 parallelForEach(ctx.objectFiles, [&](ELFFileBase *file) {
567 for (Symbol *sym : file->getLocalSymbols())