Home
last modified time | relevance | path

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

123

/llvm-project-15.0.7/lld/ELF/
H A DICF.cpp113 bool equalsConstant(const InputSection *a, const InputSection *b);
114 bool equalsVariable(const InputSection *a, const InputSection *b);
123 SmallVector<InputSection *, 0> sections;
161 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()
481 auto *s = cast<InputSection>(sec); in run()
[all …]
H A DInputSection.cpp185 InputSection *sec; in getOutputSection()
296 InputSection InputSection::discarded(nullptr, 0, 0, 0, ArrayRef<uint8_t>(), "");
298 InputSection::InputSection(InputFile *f, uint64_t flags, uint32_t type, in InputSection() function in InputSection
306 InputSection::InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, in InputSection() function in InputSection
540 InputSection *isec = cast<InputSection>(d->section); in getRISCVPCRelHi20()
1174 if (InputSection *isec = cast_or_null<InputSection>(d->section)) in adjustSplitStackFunctionPrologues()
1235 void InputSection::replace(InputSection *other) { in replace()
1426 template InputSection::InputSection(ObjFile<ELF32LE> &, const ELF32LE::Shdr &,
1428 template InputSection::InputSection(ObjFile<ELF32BE> &, const ELF32BE::Shdr &,
1430 template InputSection::InputSection(ObjFile<ELF64LE> &, const ELF64LE::Shdr &,
[all …]
H A DThunks.cpp79 bool isCompatibleWith(const InputSection &isec,
111 bool isCompatibleWith(const InputSection &isec,
176 bool isCompatibleWith(const InputSection &isec,
187 bool isCompatibleWith(const InputSection &isec,
284 bool isCompatibleWith(const InputSection &isec,
314 bool isCompatibleWith(const InputSection &isec,
337 bool isCompatibleWith(const InputSection &isec,
354 bool isCompatibleWith(const InputSection &isec,
743 return dyn_cast<InputSection>(dr.section); in getTargetInputSection()
768 return dyn_cast<InputSection>(dr.section); in getTargetInputSection()
[all …]
H A DARMErrataFix.cpp73 Patch657417Section(InputSection *p, uint64_t off, uint32_t instr, bool isARM);
87 const InputSection *patchee;
136 Patch657417Section::Patch657417Section(InputSection *p, uint64_t off, in Patch657417Section()
206 static bool branchDestInFirstRegion(const InputSection *isec, uint64_t off, in branchDestInFirstRegion()
229 static bool patchInRange(const InputSection *isec, uint64_t off, in patchInRange()
338 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init()
377 for (const InputSection *isec : isd.sections) { in insertPatches()
396 SmallVector<InputSection *, 0> tmp; in insertPatches()
398 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches()
413 static void implementPatch(ScanResult sr, InputSection *isec, in implementPatch()
[all …]
H A DOutputSections.cpp110 void OutputSection::commitSection(InputSection *isec) { in commitSection()
230 for (InputSection *s : isd->sections) in finalizeInputSections()
239 std::vector<std::pair<int, InputSection *>> v; in sortByOrder()
240 for (InputSection *s : in) in sortByOrder()
422 SmallVector<InputSection *, 0> storage; in writeTo()
430 InputSection *isec = sections[i]; in writeTo()
483 InputSection *first = getFirstInputSection(this); in finalize()
553 static bool compCtors(const InputSection *a, const InputSection *b) { in compCtors()
596 ArrayRef<InputSection *>
599 ArrayRef<InputSection *> ret; in getInputSections()
[all …]
H A DAArch64ErrataFix.cpp336 static uint64_t scanCortexA53Errata843419(InputSection *isec, uint64_t &off, in scanCortexA53Errata843419()
374 Patch843419Section(InputSection *p, uint64_t off);
387 const InputSection *patchee;
394 Patch843419Section::Patch843419Section(InputSection *p, uint64_t off) in Patch843419Section()
449 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()
579 for (InputSection *isec : isd.sections) { in patchInputSectionDescription()
H A DInputSection.h177 llvm::TinyPtrVector<InputSection *> dependentSections;
182 InputSection *getLinkOrderDep() const;
344 class InputSection : public InputSectionBase {
346 InputSection(InputFile *f, uint64_t flags, uint32_t type, uint32_t alignment,
349 InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header,
378 InputSection *repl = this;
384 void replace(InputSection *other);
386 static InputSection discarded;
395 static_assert(sizeof(InputSection) <= 160, "InputSection is too big");
H A DRelocations.h20 class InputSection; variable
148 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec,
152 ThunkSection *getISThunkSec(InputSection *isec);
156 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel,
184 llvm::DenseMap<InputSection *, ThunkSection *> thunkedSections;
H A DInputFiles.cpp674 InputSection *isec = cast<InputSection>(this->sections[i]); in initializeSections()
676 if (!isa<InputSection>(linkSec)) in initializeSections()
888 return &InputSection::discarded; in createInputSection()
910 return &InputSection::discarded; in createInputSection()
921 return &InputSection::discarded; in createInputSection()
928 return &InputSection::discarded; in createInputSection()
946 return &InputSection::discarded; in createInputSection()
958 return &InputSection::discarded; in createInputSection()
972 return &InputSection::discarded; in createInputSection()
980 return &InputSection::discarded; in createInputSection()
[all …]
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 DOutputSections.h75 void commitSection(InputSection *isec);
136 InputSection *getFirstInputSection(const OutputSection *os);
137 llvm::ArrayRef<InputSection *>
139 SmallVector<InputSection *, 0> &storage);
H A DDWARF.h20 class InputSection; variable
35 InputSection *getInfoSection() const { in getInfoSection()
36 return cast<InputSection>(infoSection.sec); in getInfoSection()
H A DWriter.cpp130 copy = make<InputSection>(cast<InputSection>(*s)); in copySectionsIntoPartitions()
294 InputSection *sec = createInterpSection(); in createSyntheticSections()
634 InputSection *isec = dyn_cast_or_null<InputSection>(s); in markUsedLocalSymbols()
1050 InputSection *sec = in.gotPlt.get(); in setReservedSymbolSections()
1327 for (InputSection *isec : isd->sections) { in sortISDBySectionOrder()
1434 [](const InputSection *a, const InputSection *b) -> bool { in sortSection()
1562 static bool compareByFilePosition(InputSection *a, InputSection *b) { in compareByFilePosition()
1592 SmallVector<InputSection *, 0> sections; in resolveShfLinkOrder()
1765 SmallVector<InputSection *, 0> storage; in optimizeBasicBlockJumps()
1784 InputSection &sec = *sections[i]; in optimizeBasicBlockJumps()
[all …]
H A DARMErrataFix.h20 class InputSection; variable
42 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
H A DAArch64ErrataFix.h20 class InputSection; variable
42 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
/llvm-project-15.0.7/lld/MachO/
H A DInputSection.h30 class InputSection {
39 virtual ~InputSection() = default;
61 virtual InputSection *canonical() { return this; } in canonical()
69 InputSection(const InputSection &rhs) in InputSection() function
119 const InputSection *canonical() const override { in canonical()
123 static bool classof(const InputSection *isec) { in classof()
160 inline bool isCoalescedWeak(InputSection *isec) { in isCoalescedWeak()
280 bool isCodeSection(const InputSection *);
281 bool isCfStringSection(const InputSection *);
282 bool isClassRefsSection(const InputSection *);
[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()
62 const InputSection *getInputSection(const WorklistEntry *) const;
75 InputSection *isec, uint64_t off, in enqueue()
130 const InputSection *
136 const InputSection *
192 InputSection *referentIsec = nullptr; in markTransitively()
[all …]
H A DInputSection.cpp39 uint64_t InputSection::getFileSize() const { in getFileSize()
43 uint64_t InputSection::getVA(uint64_t off) const { in getVA()
66 std::string InputSection::getLocation(uint64_t off) const { in getLocation()
87 std::string InputSection::getSourceLocation(uint64_t off) const { in getSourceLocation()
283 : InputSection(WordLiteralKind, section, data, align) { in WordLiteralInputSection()
316 bool macho::isCodeSection(const InputSection *isec) { in isCodeSection()
333 bool macho::isCfStringSection(const InputSection *isec) { in isCfStringSection()
338 bool macho::isClassRefsSection(const InputSection *isec) { in isClassRefsSection()
343 bool macho::isEhFrameSection(const InputSection *isec) { in isEhFrameSection()
348 bool macho::isGccExceptTabSection(const InputSection *isec) { in isGccExceptTabSection()
[all …]
H A DEhFrame.h94 EhRelocator(InputSection *isec) : isec(isec) {} in EhRelocator()
99 llvm::PointerUnion<Symbol *, InputSection *> target,
103 llvm::PointerUnion<Symbol *, InputSection *> target,
109 InputSection *isec;
H A DSectionPriorities.h18 using SectionPair = std::pair<const InputSection *, const InputSection *>;
56 llvm::DenseMap<const InputSection *, size_t> buildInputSectionPriorities();
H A DSymbolTable.h26 class InputSection; variable
40 Defined *addDefined(StringRef name, InputFile *, InputSection *,
60 Defined *addSynthetic(StringRef name, InputSection *, uint64_t value,
78 void treatUndefinedSymbol(const Undefined &, const InputSection *,
H A DSectionPriorities.cpp69 DenseMap<const InputSection *, size_t> run();
73 std::vector<const InputSection *> sections;
83 DenseMap<const InputSection *, int> secToCluster; in CallGraphSort()
85 auto getOrCreateCluster = [&](const InputSection *isec) -> int { in CallGraphSort()
159 DenseMap<const InputSection *, size_t> CallGraphSort::run() { in run()
207 DenseMap<const InputSection *, size_t> orderMap; in run()
233 const InputSection *isec = sections[i]; in run()
351 DenseMap<const InputSection *, size_t>
353 DenseMap<const InputSection *, size_t> sectionPriorities; in buildInputSectionPriorities()
H A DRelocations.h25 class InputSection; variable
63 llvm::PointerUnion<Symbol *, InputSection *> referent = nullptr;
68 int64_t addend, llvm::PointerUnion<Symbol *, InputSection *> referent) in Reloc()
81 bool validateSymbolRelocation(const Symbol *, const InputSection *,
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 DWriter.h18 class InputSection; variable
34 void addNonLazyBindingEntries(const Symbol *, const InputSection *,

123