| /llvm-project-15.0.7/lld/ELF/ |
| H A D | ICF.cpp | 113 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 D | InputSection.cpp | 185 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 D | Thunks.cpp | 79 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 D | ARMErrataFix.cpp | 73 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 D | OutputSections.cpp | 110 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 D | AArch64ErrataFix.cpp | 336 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 D | InputSection.h | 177 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 D | Relocations.h | 20 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 D | InputFiles.cpp | 674 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 D | Thunks.h | 49 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 D | OutputSections.h | 75 void commitSection(InputSection *isec); 136 InputSection *getFirstInputSection(const OutputSection *os); 137 llvm::ArrayRef<InputSection *> 139 SmallVector<InputSection *, 0> &storage);
|
| H A D | DWARF.h | 20 class InputSection; variable 35 InputSection *getInfoSection() const { in getInfoSection() 36 return cast<InputSection>(infoSection.sec); in getInfoSection()
|
| H A D | Writer.cpp | 130 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 D | ARMErrataFix.h | 20 class InputSection; variable 42 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
|
| H A D | AArch64ErrataFix.h | 20 class InputSection; variable 42 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
|
| /llvm-project-15.0.7/lld/MachO/ |
| H A D | InputSection.h | 30 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 D | MarkLive.cpp | 25 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 D | InputSection.cpp | 39 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 D | EhFrame.h | 94 EhRelocator(InputSection *isec) : isec(isec) {} in EhRelocator() 99 llvm::PointerUnion<Symbol *, InputSection *> target, 103 llvm::PointerUnion<Symbol *, InputSection *> target, 109 InputSection *isec;
|
| H A D | SectionPriorities.h | 18 using SectionPair = std::pair<const InputSection *, const InputSection *>; 56 llvm::DenseMap<const InputSection *, size_t> buildInputSectionPriorities();
|
| H A D | SymbolTable.h | 26 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 D | SectionPriorities.cpp | 69 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 D | Relocations.h | 25 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 D | EhFrame.cpp | 109 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 D | Writer.h | 18 class InputSection; variable 34 void addNonLazyBindingEntries(const Symbol *, const InputSection *,
|