Lines Matching defs:isec
137 if (!da->isec() || !db->isec()) {
141 isecA = da->isec();
143 isecB = db->isec();
206 isecA = dyn_cast<ConcatInputSection>(da->isec());
209 isecB = cast<ConcatInputSection>(db->isec());
284 ConcatInputSection *isec = icfInputs[i];
287 if (!isec->keepUnique)
291 makeSyntheticInputSection(isec->getSegName(), isec->getName());
295 thunk->foldIdentical(isec, Symbol::ICFFoldKind::Thunk);
343 parallelForEach(icfInputs, [&](ConcatInputSection *isec) {
344 uint32_t hash = isec->icfEqClass[icfPass % 2];
345 for (const Reloc &r : isec->relocs) {
348 if (defined->isec()) {
350 dyn_cast<ConcatInputSection>(defined->isec()))
353 hash += defined->isec()->kind() +
354 defined->isec()->getOffset(defined->value);
365 isec->icfEqClass[(icfPass + 1) % 2] = hash | (1ull << 31);
437 [&](ConcatInputSection *isec) {
438 return (this->*equals)(icfInputs[begin], isec);
457 if (d->isec())
458 d->isec()->keepUnique = true;
473 const InputSection *isec = addrSigSection->subsections[0].isec;
475 for (const Reloc &r : isec->relocs) {
479 error(toString(isec) + ": unexpected section relocation");
529 for (ConcatInputSection *isec : inputSections) {
530 bool isFoldableWithAddendsRemoved = isCfStringSection(isec) ||
531 isClassRefsSection(isec) ||
532 isSelRefsSection(isec);
535 bool hasFoldableFlags = (isSelRefsSection(isec) ||
536 sectionType(isec->getFlags()) == MachO::S_REGULAR);
538 bool isCodeSec = isCodeSection(isec);
545 !isec->keepUnique ||
549 bool isFoldable = (!onlyCfStrings || isCfStringSection(isec)) &&
551 isGccExceptTabSection(isec)) &&
552 noUniqueRequirement && !isec->hasAltEntry &&
553 !isec->shouldOmitFromOutput() && hasFoldableFlags;
555 foldable.push_back(isec);
556 for (Defined *d : isec->symbols)
568 MutableArrayRef<uint8_t> copy = isec->data.copy(bAlloc());
569 for (const Reloc &r : isec->relocs)
572 isec->data = copy;
574 } else if (!isEhFrameSection(isec)) {
577 isec->icfEqClass[0] = ++icfUniqueID;
580 parallelForEach(foldable, [](ConcatInputSection *isec) {
581 assert(isec->icfEqClass[0] == 0); // don't overwrite a unique ID!
584 isec->icfEqClass[0] = xxh3_64bits(isec->data) | (1ull << 31);