Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/lld/MachO/
H A DInputSection.h30 class InputSection {
39 virtual ~InputSection() = default;
63 virtual InputSection *canonical() { return this; } in canonical()
64 virtual const InputSection *canonical() const { return this; } in canonical()
67 InputSection(Kind kind, const Section &section, ArrayRef<uint8_t> data, in InputSection() function
72 InputSection(const InputSection &rhs) in InputSection() function
105 class ConcatInputSection final : public InputSection {
109 : InputSection(ConcatKind, section, data, align) {} in InputSection() function
112 uint64_t getVA() const { return InputSection::getVA(0); } in getVA()
125 const InputSection *canonical() const override { in canonical()
[all …]
H A DMarkLive.cpp25 InputSection *isec;
29 WhyLiveEntry(InputSection *isec, const WhyLiveEntry *prev) in WhyLiveEntry()
37 virtual void enqueue(InputSection *isec, uint64_t off) = 0;
50 std::conditional_t<RecordWhyLive, WhyLiveEntry, InputSection>;
52 void enqueue(InputSection *isec, uint64_t off) override { in enqueue()
59 void enqueue(InputSection *isec, uint64_t off, const WorklistEntry *prev);
61 const InputSection *getInputSection(const WorklistEntry *) const;
62 WorklistEntry *makeEntry(InputSection *, const WorklistEntry *prev) const;
74 InputSection *isec, uint64_t off, in enqueue()
119 const InputSection *MarkLiveImpl<RecordWhyLive>::getInputSection( in getInputSection()
[all …]
H A DInputSection.cpp44 void lld::macho::addInputSection(InputSection *inputSection) { in addInputSection()
86 uint64_t InputSection::getFileSize() const { in getFileSize()
90 uint64_t InputSection::getVA(uint64_t off) const { in getVA()
105 const Defined *InputSection::getContainingSymbol(uint64_t off) const { in getContainingSymbol()
113 std::string InputSection::getLocation(uint64_t off) const { in getLocation()
134 std::string InputSection::getSourceLocation(uint64_t off) const { in getSourceLocation()
182 const Reloc *InputSection::getRelocAt(uint32_t off) const { in getRelocAt()
233 auto *referentIsec = cast<InputSection *>(minuend.referent); in writeTo()
260 } else if (auto *referentIsec = r.referent.dyn_cast<InputSection *>()) { in writeTo()
334 : InputSection(WordLiteralKind, section, data, align) { in WordLiteralInputSection()
[all …]
H A DRelocations.h24 class InputSection; variable
62 llvm::PointerUnion<Symbol *, InputSection *> referent = nullptr;
67 int64_t addend, llvm::PointerUnion<Symbol *, InputSection *> referent) in Reloc()
71 InputSection *getReferentInputSection() const;
78 bool validateSymbolRelocation(const Symbol *, const InputSection *,
122 InputSection *offsetToInputSection(uint64_t *);
H A DRelocations.cpp24 InputSection *Reloc::getReferentInputSection() const { in getReferentInputSection()
30 return cast<InputSection *>(referent); in getReferentInputSection()
35 if (auto *isec = dyn_cast<InputSection *>(referent)) { in getReferentString()
60 const InputSection *isec, const Reloc &r) { in validateSymbolRelocation()
90 InputSection *macho::offsetToInputSection(uint64_t *off) { in offsetToInputSection()
124 const InputSection *isec = offsetToInputSection(&off); in reportRangeError()
H A DEhFrame.h93 EhRelocator(InputSection *isec) : isec(isec) {} in EhRelocator()
98 llvm::PointerUnion<Symbol *, InputSection *> target,
102 llvm::PointerUnion<Symbol *, InputSection *> target,
108 InputSection *isec;
H A DSymbolTable.h25 class InputSection; variable
39 Defined *addDefined(StringRef name, InputFile *, InputSection *,
59 Defined *addSynthetic(StringRef name, InputSection *, uint64_t value,
78 void treatUndefinedSymbol(const Undefined &, const InputSection *,
H A DSectionPriorities.h18 using SectionPair = std::pair<const InputSection *, const InputSection *>;
68 llvm::DenseMap<const InputSection *, int> buildInputSectionPriorities();
H A DSectionPriorities.cpp68 DenseMap<const InputSection *, int> run();
72 std::vector<const InputSection *> sections;
82 DenseMap<const InputSection *, int> secToCluster; in CallGraphSort()
84 auto getOrCreateCluster = [&](const InputSection *isec) -> int { in CallGraphSort()
158 DenseMap<const InputSection *, int> CallGraphSort::run() { in run()
206 DenseMap<const InputSection *, int> orderMap; in run()
230 const InputSection *isec = sections[i]; in run()
363 DenseMap<const InputSection *, int>
365 DenseMap<const InputSection *, int> sectionPriorities; in buildInputSectionPriorities()
H A DEhFrame.cpp109 static void createSubtraction(PointerUnion<Symbol *, InputSection *> a, in createSubtraction()
110 PointerUnion<Symbol *, InputSection *> b, in createSubtraction()
127 PointerUnion<Symbol *, InputSection *> target, in makePcRel()
133 uint64_t off, PointerUnion<Symbol *, InputSection *> target, in makeNegativePcRel()
H A DBPSectionOrderer.h21 class InputSection; variable
28 llvm::DenseMap<const InputSection *, int>
H A DTarget.h31 class InputSection; variable
78 virtual void initICFSafeThunkBody(InputSection *thunk, in initICFSafeThunkBody()
85 virtual Symbol *getThunkBranchTarget(InputSection *thunk) const { in getThunkBranchTarget()
102 virtual void populateThunk(InputSection *thunk, Symbol *funcSym) { in populateThunk()
H A DWriter.h17 class InputSection; variable
33 void addNonLazyBindingEntries(const Symbol *, const InputSection *,
/freebsd/contrib/llvm-project/lld/ELF/
H A DICF.cpp106 bool constantEq(const InputSection *a, Relocs<RelTy> relsA,
107 const InputSection *b, Relocs<RelTy> relsB);
110 bool variableEq(const InputSection *a, Relocs<RelTy> relsA,
111 const InputSection *b, Relocs<RelTy> relsB);
113 bool equalsConstant(const InputSection *a, const InputSection *b);
114 bool equalsVariable(const InputSection *a, const InputSection *b);
124 SmallVector<InputSection *, 0> sections;
162 static bool isEligible(InputSection *s) { in isEligible()
214 sections.begin() + end, [&](InputSection *s) { in segregate()
239 bool ICF<ELFT>::constantEq(const InputSection *secA, Relocs<RelTy> ra, in constantEq()
[all …]
H A DInputSection.cpp157 if (!relSec || !cast<InputSection>(relSec)->decodedCrel) { in relsOrRelas()
158 auto *sec = makeThreadLocal<InputSection>(*f, shdr, name); in relsOrRelas()
207 return cast<InputSection>(this)->outSecOff + offset; in getOffset()
217 if (InputSection *isec = es->getParent()) in getOffset()
223 if (InputSection *isec = ms->getParent()) in getOffset()
236 InputSection *sec; in getOutputSection()
237 if (auto *isec = dyn_cast<InputSection>(this)) in getOutputSection()
284 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep()
288 return cast<InputSection>(file->getSections()[link]); in getLinkOrderDep()
381 : InputSection(source.file, source.name, source.type, source.flags, in PotentialSpillSection()
[all …]
H A DARMErrataFix.cpp71 Patch657417Section(Ctx &, InputSection *p, uint64_t off, uint32_t instr,
86 const InputSection *patchee;
135 Patch657417Section::Patch657417Section(Ctx &ctx, InputSection *p, uint64_t off, in Patch657417Section()
208 static bool branchDestInFirstRegion(Ctx &ctx, const InputSection *isec, in branchDestInFirstRegion()
233 static bool patchInRange(Ctx &ctx, const InputSection *isec, uint64_t off, in patchInRange()
259 static ScanResult scanCortexA8Errata657417(InputSection *isec, uint64_t &off, in scanCortexA8Errata657417()
343 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init()
382 for (const InputSection *isec : isd.sections) { in insertPatches()
401 SmallVector<InputSection *, 0> tmp; in insertPatches()
403 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches()
[all …]
H A DInputSection.h244 llvm::TinyPtrVector<InputSection *> dependentSections;
249 InputSection *getLinkOrderDep() const;
415 class InputSection : public InputSectionBase {
417 InputSection(InputFile *f, StringRef name, uint32_t type, uint64_t flags,
421 InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header,
451 InputSection *repl = this;
457 void replace(InputSection *other);
459 static InputSection discarded;
473 class PotentialSpillSection : public InputSection {
491 static_assert(sizeof(InputSection) <= 152, "InputSection is too big");
[all …]
H A DAArch64ErrataFix.cpp335 static uint64_t scanCortexA53Errata843419(InputSection *isec, uint64_t &off, in scanCortexA53Errata843419()
373 Patch843419Section(Ctx &, InputSection *p, uint64_t off);
386 const InputSection *patchee;
393 Patch843419Section::Patch843419Section(Ctx &ctx, InputSection *p, uint64_t off) in Patch843419Section()
448 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init()
493 for (const InputSection *isec : isd.sections) { in insertPatches()
514 SmallVector<InputSection *, 0> tmp; in insertPatches()
516 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches()
531 InputSection *isec, in implementPatch()
578 for (InputSection *isec : isd.sections) { in patchInputSectionDescription()
H A DOutputSections.h78 void commitSection(InputSection *isec);
135 SmallVector<InputSection *, 0> storage;
170 InputSection *getFirstInputSection(const OutputSection *os);
171 llvm::ArrayRef<InputSection *>
173 SmallVector<InputSection *, 0> &storage);
H A DOutputSections.cpp117 void OutputSection::commitSection(InputSection *isec) { in commitSection()
215 isd->sections.push_back(cast<InputSection>(s)); in finalizeInputSections()
259 for (InputSection *s : isd->sections) in finalizeInputSections()
278 static void sortByOrder(MutableArrayRef<InputSection *> in, in sortByOrder()
280 std::vector<std::pair<int, InputSection *>> v; in sortByOrder()
281 for (InputSection *s : in) in sortByOrder()
535 ArrayRef<InputSection *> sections = getInputSections(*this, storage); in writeTo()
550 InputSection *isec = sections[i]; in writeTo()
613 InputSection *section) { in finalizeShtGroup()
682 Elf_Crel<ELFT::Is64Bits> &out, InputSection *relSec, in relToCrel()
[all …]
H A DThunks.h49 virtual InputSection *getTargetInputSection() const { return nullptr; } in getTargetInputSection()
53 virtual bool isCompatibleWith(const InputSection &, in isCompatibleWith() argument
79 std::unique_ptr<Thunk> addThunk(Ctx &, const InputSection &isec,
H A DInputFiles.cpp411 if (s != &InputSection::discarded && s->flags & SHF_ALLOC) in handleSectionGroup()
427 if (!s || s == &InputSection::discarded) in handleSectionGroup()
585 sections[secIndex] = &InputSection::discarded; in parse()
607 sections[i] = &InputSection::discarded; in parse()
618 sections[i] = &InputSection::discarded; in parse()
622 InputSection isec(*this, sec, name); in parse()
634 std::make_unique<InputSection>(*this, sec, name); in parse()
647 sections[i] = &InputSection::discarded; in parse()
654 sections[i] = &InputSection::discarded; in parse()
749 if (this->sections[i] == &InputSection::discarded) in initializeSections()
[all …]
H A DThunks.cpp154 bool isCompatibleWith(const InputSection &isec,
189 bool isCompatibleWith(const InputSection &isec,
423 HexagonThunk(Ctx &ctx, const InputSection &isec, Relocation &rel, in HexagonThunk()
442 InputSection *getTargetInputSection() const override;
453 InputSection *getTargetInputSection() const override;
464 InputSection *getTargetInputSection() const override;
471 PPC32PltCallStub(Ctx &ctx, const InputSection &isec, const Relocation &rel, in PPC32PltCallStub()
477 bool isCompatibleWith(const InputSection &isec, const Relocation &rel) const override;
507 bool isCompatibleWith(const InputSection &isec,
538 bool isCompatibleWith(const InputSection &isec,
[all …]
H A DDWARF.h22 class InputSection; variable
37 InputSection *getInfoSection() const { in getInfoSection()
38 return cast<InputSection>(infoSection.sec); in getInfoSection()
H A DAArch64ErrataFix.h19 class InputSection; variable
42 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;

123