Lines Matching refs:isec
25 InputSection *isec; member
29 WhyLiveEntry(InputSection *isec, const WhyLiveEntry *prev) in WhyLiveEntry()
30 : isec(isec), prev(prev) {} in WhyLiveEntry()
37 virtual void enqueue(InputSection *isec, uint64_t off) = 0;
52 void enqueue(InputSection *isec, uint64_t off) override { in enqueue() argument
53 enqueue(isec, off, nullptr); in enqueue()
59 void enqueue(InputSection *isec, uint64_t off, const WorklistEntry *prev);
75 InputSection *isec, uint64_t off, in enqueue() argument
77 if (isec->isLive(off)) in enqueue()
79 isec->markLive(off); in enqueue()
80 if (auto s = dyn_cast<ConcatInputSection>(isec)) { in enqueue()
95 if (d->isec) in addSym()
96 enqueue(d->isec, d->value, prev); in addSym()
107 const TinyPtrVector<Defined *> &symbols = entry->isec->symbols; in printWhyLiveImpl()
132 return entry->isec; in getInputSection()
137 MarkLiveImpl<false>::getInputSection(const InputSection *isec) const { in getInputSection()
138 return isec; in getInputSection()
143 InputSection *isec, const MarkLiveImpl<true>::WorklistEntry *prev) const { in makeEntry() argument
144 if (!isec) { in makeEntry()
148 return make<WhyLiveEntry>(isec, prev); in makeEntry()
153 InputSection *isec, const MarkLiveImpl<false>::WorklistEntry *prev) const { in makeEntry() argument
154 return isec; in makeEntry()
167 auto *isec = cast<ConcatInputSection>(getInputSection(entry)); in markTransitively() local
168 assert(isec->live && "We mark as live when pushing onto the worklist!"); in markTransitively()
171 for (const Reloc &r : isec->relocs) { in markTransitively()
183 for (ConcatInputSection *isec : inputSections) { in markTransitively()
186 if (!(isec->getFlags() & S_ATTR_LIVE_SUPPORT) || isec->live) in markTransitively()
189 for (const Reloc &r : isec->relocs) { in markTransitively()
194 referentIsec = d->isec; in markTransitively()
195 enqueue(isec, 0, makeEntry(referentIsec, nullptr)); in markTransitively()
200 enqueue(isec, 0, makeEntry(referentIsec, nullptr)); in markTransitively()
273 for (ConcatInputSection *isec : inputSections) { in markLive()
275 if (isec->getFlags() & S_ATTR_NO_DEAD_STRIP) { in markLive()
276 marker->enqueue(isec, 0); in markLive()
281 if (sectionType(isec->getFlags()) == S_MOD_INIT_FUNC_POINTERS || in markLive()
282 sectionType(isec->getFlags()) == S_MOD_TERM_FUNC_POINTERS) { in markLive()
283 marker->enqueue(isec, 0); in markLive()