Lines Matching refs:isec

136       if (!da->isec || !db->isec) {  in equalsConstant()
140 isecA = da->isec; in equalsConstant()
142 isecB = db->isec; in equalsConstant()
194 isecA = dyn_cast<ConcatInputSection>(da->isec); in equalsVariable()
197 isecB = cast<ConcatInputSection>(db->isec); in equalsVariable()
287 parallelForEach(icfInputs, [&](ConcatInputSection *isec) { in run() argument
288 uint32_t hash = isec->icfEqClass[icfPass % 2]; in run()
289 for (const Reloc &r : isec->relocs) { in run()
292 if (defined->isec) { in run()
294 dyn_cast<ConcatInputSection>(defined->isec)) in run()
297 hash += defined->isec->kind() + in run()
298 defined->isec->getOffset(defined->value); in run()
309 isec->icfEqClass[(icfPass + 1) % 2] = hash | (1ull << 31); in run()
351 [&](ConcatInputSection *isec) { in segregate() argument
352 return (this->*equals)(icfInputs[begin], isec); in segregate()
371 if (d->isec) in markSymAsAddrSig()
372 d->isec->keepUnique = true; in markSymAsAddrSig()
387 const InputSection *isec = addrSigSection->subsections[0].isec; in markAddrSigSymbols() local
389 for (const Reloc &r : isec->relocs) { in markAddrSigSymbols()
393 error(toString(isec) + ": unexpected section relocation"); in markAddrSigSymbols()
416 for (ConcatInputSection *isec : inputSections) { in foldIdenticalSections()
419 (!onlyCfStrings || isCfStringSection(isec)) && in foldIdenticalSections()
420 (isCodeSection(isec) || isCfStringSection(isec) || in foldIdenticalSections()
421 isClassRefsSection(isec) || isGccExceptTabSection(isec)) && in foldIdenticalSections()
422 !isec->keepUnique && !isec->shouldOmitFromOutput() && in foldIdenticalSections()
423 sectionType(isec->getFlags()) == MachO::S_REGULAR; in foldIdenticalSections()
425 hashable.push_back(isec); in foldIdenticalSections()
426 for (Defined *d : isec->symbols) in foldIdenticalSections()
435 if (isCfStringSection(isec) || isClassRefsSection(isec)) { in foldIdenticalSections()
438 MutableArrayRef<uint8_t> copy = isec->data.copy(bAlloc()); in foldIdenticalSections()
439 for (const Reloc &r : isec->relocs) in foldIdenticalSections()
442 isec->data = copy; in foldIdenticalSections()
444 } else if (!isEhFrameSection(isec)) { in foldIdenticalSections()
447 isec->icfEqClass[0] = ++icfUniqueID; in foldIdenticalSections()
450 parallelForEach(hashable, [](ConcatInputSection *isec) { in foldIdenticalSections() argument
451 assert(isec->icfEqClass[0] == 0); // don't overwrite a unique ID! in foldIdenticalSections()
454 isec->icfEqClass[0] = xxHash64(isec->data) | (1ull << 31); in foldIdenticalSections()