Home
last modified time | relevance | path

Searched refs:InputSection (Results 1 – 25 of 55) sorted by relevance

123

/freebsd-13.1/contrib/llvm-project/lld/ELF/
H A DICF.cpp115 bool equalsConstant(const InputSection *a, const InputSection *b);
116 bool equalsVariable(const InputSection *a, const InputSection *b);
125 std::vector<InputSection *> sections;
163 static bool isEligible(InputSection *s) { in isEligible()
285 if (isa<InputSection>(da->section)) { in constantEq()
314 bool ICF<ELFT>::equalsConstant(const InputSection *a, const InputSection *b) { in equalsConstant()
353 auto *x = dyn_cast<InputSection>(da->section); in variableEq()
356 auto *y = cast<InputSection>(db->section); in variableEq()
371 bool ICF<ELFT>::equalsVariable(const InputSection *a, const InputSection *b) { in equalsVariable()
480 auto *s = cast<InputSection>(sec); in run()
[all …]
H A DInputSection.cpp213 InputSection *sec; in getOutputSection()
354 InputSection InputSection::discarded(nullptr, 0, 0, 0, ArrayRef<uint8_t>(), "");
356 InputSection::InputSection(InputFile *f, uint64_t flags, uint32_t type, in InputSection() function in InputSection
364 InputSection::InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, in InputSection() function in InputSection
605 InputSection *isec = cast<InputSection>(d->section); in getRISCVPCRelHi20()
1213 if (InputSection *isec = cast_or_null<InputSection>(d->section)) in adjustSplitStackFunctionPrologues()
1282 void InputSection::replace(InputSection *other) { in replace()
1452 template InputSection::InputSection(ObjFile<ELF32LE> &, const ELF32LE::Shdr &,
1454 template InputSection::InputSection(ObjFile<ELF32BE> &, const ELF32BE::Shdr &,
1456 template InputSection::InputSection(ObjFile<ELF64LE> &, const ELF64LE::Shdr &,
[all …]
H A DThunks.cpp80 bool isCompatibleWith(const InputSection &isec,
112 bool isCompatibleWith(const InputSection &isec,
177 bool isCompatibleWith(const InputSection &isec,
188 bool isCompatibleWith(const InputSection &isec,
285 bool isCompatibleWith(const InputSection &isec,
315 bool isCompatibleWith(const InputSection &isec,
338 bool isCompatibleWith(const InputSection &isec,
355 bool isCompatibleWith(const InputSection &isec,
762 return dyn_cast<InputSection>(dr.section); in getTargetInputSection()
786 return dyn_cast<InputSection>(dr.section); in getTargetInputSection()
[all …]
H A DARMErrataFix.cpp89 const InputSection *patchee;
138 Patch657417Section::Patch657417Section(InputSection *p, uint64_t off, in Patch657417Section()
208 static bool branchDestInFirstRegion(const InputSection *isec, uint64_t off, in branchDestInFirstRegion()
231 static bool patchInRange(const InputSection *isec, uint64_t off, in patchInRange()
257 static ScanResult scanCortexA8Errata657417(InputSection *isec, uint64_t &off, in scanCortexA8Errata657417()
341 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init()
380 for (const InputSection *isec : isd.sections) { in insertPatches()
399 std::vector<InputSection *> tmp; in insertPatches()
401 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches()
416 static void implementPatch(ScanResult sr, InputSection *isec, in implementPatch()
[all …]
H A DOutputSections.cpp113 void OutputSection::commitSection(InputSection *isec) { in commitSection()
177 cmd->sections.push_back(cast<InputSection>(s)); in finalizeInputSections()
216 for (InputSection *s : cmd->sections) in finalizeInputSections()
223 static void sortByOrder(MutableArrayRef<InputSection *> in, in sortByOrder()
225 std::vector<std::pair<int, InputSection *>> v; in sortByOrder()
226 for (InputSection *s : in) in sortByOrder()
349 InputSection *isec = sections[i]; in writeTo()
376 InputSection *section) { in finalizeShtGroup()
399 InputSection *first = getFirstInputSection(this); in finalize()
472 static bool compCtors(const InputSection *a, const InputSection *b) { in compCtors()
[all …]
H A DAArch64ErrataFix.cpp337 static uint64_t scanCortexA53Errata843419(InputSection *isec, uint64_t &off, in scanCortexA53Errata843419()
375 Patch843419Section(InputSection *p, uint64_t off);
388 const InputSection *patchee;
395 Patch843419Section::Patch843419Section(InputSection *p, uint64_t off) in Patch843419Section()
451 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init()
495 for (const InputSection *isec : isd.sections) { in insertPatches()
516 std::vector<InputSection *> tmp; in insertPatches()
518 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches()
533 InputSection *isec, in implementPatch()
581 for (InputSection *isec : isd.sections) { in patchInputSectionDescription()
H A DInputFiles.cpp683 InputSection *isec = cast<InputSection>(this->sections[i]); in initializeSections()
685 if (!isa<InputSection>(linkSec)) in initializeSections()
900 return &InputSection::discarded; in createInputSection()
943 return &InputSection::discarded; in createInputSection()
989 InputSection *relocSec = make<InputSection>(*this, sec, name); in createInputSection()
1011 return &InputSection::discarded; in createInputSection()
1023 return &InputSection::discarded; in createInputSection()
1036 return &InputSection::discarded; in createInputSection()
1044 return &InputSection::discarded; in createInputSection()
1054 return &InputSection::discarded; in createInputSection()
[all …]
H A DInputSection.h188 llvm::TinyPtrVector<InputSection *> dependentSections;
193 InputSection *getLinkOrderDep() const;
350 class InputSection : public InputSectionBase {
352 InputSection(InputFile *f, uint64_t flags, uint32_t type, uint32_t alignment,
355 InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header,
383 void replace(InputSection *other);
385 static InputSection discarded;
395 static_assert(sizeof(InputSection) <= 192, "InputSection is too big");
397 static_assert(sizeof(InputSection) <= 184, "InputSection is too big");
H A DRelocations.h20 class InputSection; variable
150 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec,
154 ThunkSection *getISThunkSec(InputSection *isec);
158 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel,
186 llvm::DenseMap<InputSection *, ThunkSection *> thunkedSections;
H A DOutputSections.h25 class InputSection; variable
75 void commitSection(InputSection *isec);
123 InputSection *getFirstInputSection(const OutputSection *os);
124 std::vector<InputSection *> getInputSections(const OutputSection *os);
H A DThunks.h49 virtual InputSection *getTargetInputSection() const { return nullptr; } in getTargetInputSection()
53 virtual bool isCompatibleWith(const InputSection &, in isCompatibleWith() argument
71 Thunk *addThunk(const InputSection &isec, Relocation &rel);
H A DDWARF.h20 class InputSection; variable
35 InputSection *getInfoSection() const { in getInfoSection()
36 return cast<InputSection>(infoSection.sec); in getInfoSection()
H A DWriter.cpp105 if (auto *isec = dyn_cast<InputSection>(s)) { in getOutputSectionName()
192 copy = make<InputSection>(cast<InputSection>(*s)); in copySectionsIntoPartitions()
353 InputSection *sec = createInterpSection(); in createSyntheticSections()
691 InputSection *isec = dyn_cast_or_null<InputSection>(s); in markUsedLocalSymbols()
1136 InputSection *gotSection = in.gotPlt; in setReservedSymbolSections()
1401 for (InputSection *isec : isd->sections) { in sortISDBySectionOrder()
1509 [](const InputSection *a, const InputSection *b) -> bool { in sortSection()
1647 static bool compareByFilePosition(InputSection *a, InputSection *b) { in compareByFilePosition()
1677 std::vector<InputSection *> sections; in resolveShfLinkOrder()
1857 InputSection &is = *sections[i]; in optimizeBasicBlockJumps()
[all …]
H A DSyntheticSections.h39 class SyntheticSection : public InputSection {
508 void addInSec(int32_t tag, InputSection *sec);
778 InputSection *section;
795 InputSection *sec;
1083 bool addSection(InputSection *isec);
1090 InputSection *getLinkOrderDep() const;
1096 std::vector<InputSection *> exidxSections;
1111 InputSection *sentinel = nullptr;
1128 InputSection *getTargetInputSection() const;
1196 InputSection *createInterpSection();
[all …]
H A DARMErrataFix.h21 class InputSection; variable
43 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
H A DAArch64ErrataFix.h20 class InputSection; variable
42 std::map<InputSection *, std::vector<const Defined *>> sectionMap;
H A DMarkLive.cpp68 SmallVector<InputSection *, 0> queue;
193 if (sec == &InputSection::discarded) in enqueue()
210 if (InputSection *s = dyn_cast<InputSection>(sec)) in enqueue()
389 for (InputSection *isec : sec->dependentSections) in markLive()
/freebsd-13.1/contrib/llvm-project/lld/MachO/
H A DInputSection.h29 class InputSection {
38 virtual ~InputSection() = default;
53 virtual InputSection *canonical() { return this; } in canonical()
100 : InputSection(ConcatKind, segname, name) {} in ConcatInputSection()
119 InputSection *canonical() override { in canonical()
123 static bool classof(const InputSection *isec) { in classof()
128 InputSection *replacement = nullptr;
159 inline bool isCoalescedWeak(InputSection *isec) { in isCoalescedWeak()
222 static bool classof(const InputSection *isec) { in classof()
279 bool isCodeSection(const InputSection *);
[all …]
H A DInputSection.cpp31 uint64_t InputSection::getFileSize() const { in getFileSize()
35 uint64_t InputSection::getVA(uint64_t off) const { in getVA()
120 auto *referentIsec = minuend.referent.get<InputSection *>(); in writeTo()
139 } else if (auto *referentIsec = r.referent.dyn_cast<InputSection *>()) { in writeTo()
186 : InputSection(WordLiteralKind, segname, name, file, data, align, flags) { in WordLiteralInputSection()
219 bool macho::isCodeSection(const InputSection *isec) { in isCodeSection()
236 bool macho::isCfStringSection(const InputSection *isec) { in isCfStringSection()
241 std::string lld::toString(const InputSection *isec) { in toString()
H A DICF.cpp107 InputSection *isecA, *isecB; in equalsConstant()
128 isecA = ra.referent.get<InputSection *>(); in equalsConstant()
129 isecB = rb.referent.get<InputSection *>(); in equalsConstant()
170 const auto *sa = ra.referent.get<InputSection *>(); in equalsVariable()
171 const auto *sb = rb.referent.get<InputSection *>(); in equalsVariable()
315 DenseSet<const InputSection *> findFunctionsWithUnwindInfo() { in findFunctionsWithUnwindInfo()
316 DenseSet<const InputSection *> result; in findFunctionsWithUnwindInfo()
324 result.insert(r.referent.get<InputSection *>()); in findFunctionsWithUnwindInfo()
340 DenseSet<const InputSection *> functionsWithUnwindInfo = in foldIdenticalSections()
H A DMarkLive.cpp37 auto enqueue = [&](InputSection *isec, uint64_t off) { in markLive()
142 enqueue(r.referent.get<InputSection *>(), r.addend); in markLive()
157 enqueue(r.referent.get<InputSection *>(), r.addend); in markLive()
174 referentLive = r.referent.get<InputSection *>()->isLive(r.addend); in markLive()
H A DSymbolTable.h26 class InputSection; variable
40 Defined *addDefined(StringRef name, InputFile *, InputSection *,
56 Defined *addSynthetic(StringRef name, InputSection *, uint64_t value,
H A DRelocations.h25 class InputSection; variable
63 llvm::PointerUnion<Symbol *, InputSection *> referent = nullptr;
66 bool validateSymbolRelocation(const Symbol *, const InputSection *,
H A DWriter.h18 class InputSection; variable
33 void addNonLazyBindingEntries(const Symbol *, const InputSection *,
H A DConcatOutputSection.cpp127 for (InputSection *isec : inputs) in needsThunks()
132 for (InputSection *isec : inputs) { in needsThunks()
172 InputSection *isec = inputs[i]; in estimateStubsInRangeVA()
339 void ConcatOutputSection::finalizeFlags(InputSection *input) { in finalizeFlags()
364 ConcatOutputSection::getOrCreateForInput(const InputSection *isec) { in getOrCreateForInput()

123