/external/llvm-project/lld/ELF/ |
D | ICF.cpp | 108 bool constantEq(const InputSection *a, ArrayRef<RelTy> relsA, 109 const InputSection *b, ArrayRef<RelTy> relsB); 112 bool variableEq(const InputSection *a, ArrayRef<RelTy> relsA, 113 const InputSection *b, ArrayRef<RelTy> relsB); 115 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() 215 sections.begin() + end, [&](InputSection *s) { in segregate() 240 bool ICF<ELFT>::constantEq(const InputSection *secA, ArrayRef<RelTy> ra, in constantEq() [all …]
|
D | InputSection.cpp | 177 return cast<InputSection>(this)->getOffset(offset); in getOffset() 185 if (InputSection *isec = ms->getParent()) in getOffset() 198 InputSection *sec; in getOutputSection() 199 if (auto *isec = dyn_cast<InputSection>(this)) in getOutputSection() 278 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep() 282 return cast<InputSection>(file->getSections()[link]); in getLinkOrderDep() 361 InputSection InputSection::discarded(nullptr, 0, 0, 0, ArrayRef<uint8_t>(), ""); 363 InputSection::InputSection(InputFile *f, uint64_t flags, uint32_t type, in InputSection() function in InputSection 371 InputSection::InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, in InputSection() function in InputSection 375 bool InputSection::classof(const SectionBase *s) { in classof() [all …]
|
D | Thunks.cpp | 80 bool isCompatibleWith(const InputSection &isec, 110 bool isCompatibleWith(const InputSection &isec, 174 bool isCompatibleWith(const InputSection &isec, 185 bool isCompatibleWith(const InputSection &isec, 216 InputSection *getTargetInputSection() const override; 227 InputSection *getTargetInputSection() const override; 238 InputSection *getTargetInputSection() const override; 245 PPC32PltCallStub(const InputSection &isec, const Relocation &rel, in PPC32PltCallStub() 251 bool isCompatibleWith(const InputSection &isec, const Relocation &rel) const override; 280 bool isCompatibleWith(const InputSection &isec, [all …]
|
D | ARMErrataFix.cpp | 75 Patch657417Section(InputSection *p, uint64_t off, uint32_t instr, bool isARM); 89 const InputSection *patchee; 138 Patch657417Section::Patch657417Section(InputSection *p, uint64_t off, in Patch657417Section() 195 static bool branchDestInFirstRegion(const InputSection *isec, uint64_t off, in branchDestInFirstRegion() 218 static bool patchInRange(const InputSection *isec, uint64_t off, in patchInRange() 244 static ScanResult scanCortexA8Errata657417(InputSection *isec, uint64_t &off, in scanCortexA8Errata657417() 328 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init() 367 for (const InputSection *isec : isd.sections) { in insertPatches() 386 std::vector<InputSection *> tmp; in insertPatches() 388 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches() [all …]
|
D | OutputSections.cpp | 113 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() 342 std::vector<InputSection *> sections = getInputSections(this); in writeTo() 349 InputSection *isec = sections[i]; in writeTo() 376 InputSection *section) { in finalizeShtGroup() 399 InputSection *first = getFirstInputSection(this); in finalize() [all …]
|
D | Relocations.h | 20 class InputSection; variable 149 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec, 153 ThunkSection *getISThunkSec(InputSection *isec); 157 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel, 185 llvm::DenseMap<InputSection *, ThunkSection *> thunkedSections;
|
D | AArch64ErrataFix.cpp | 337 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()
|
D | InputSection.h | 188 llvm::TinyPtrVector<InputSection *> dependentSections; 193 InputSection *getLinkOrderDep() const; 349 class InputSection : public InputSectionBase { 351 InputSection(InputFile *f, uint64_t flags, uint32_t type, uint32_t alignment, 354 InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, 382 void replace(InputSection *other); 384 static InputSection discarded; 394 static_assert(sizeof(InputSection) <= 192, "InputSection is too big"); 396 static_assert(sizeof(InputSection) <= 184, "InputSection is too big");
|
D | InputFiles.cpp | 534 if (s != &InputSection::discarded && s->flags & SHF_ALLOC) in handleSectionGroup() 550 if (!s || s == &InputSection::discarded) in handleSectionGroup() 575 if (this->sections[i] == &InputSection::discarded) in initializeSections() 598 this->sections[i] = &InputSection::discarded; in initializeSections() 606 this->sections[i] = &InputSection::discarded; in initializeSections() 640 this->sections[secIndex] = &InputSection::discarded; in initializeSections() 666 if (this->sections[i] == &InputSection::discarded) in initializeSections() 686 InputSection *isec = cast<InputSection>(this->sections[i]); in initializeSections() 688 if (!isa<InputSection>(linkSec)) in initializeSections() 796 template <class ELFT> static uint32_t readAndFeatures(const InputSection &sec) { in readAndFeatures() [all …]
|
D | OutputSections.h | 25 class InputSection; variable 75 void commitSection(InputSection *isec); 121 InputSection *getFirstInputSection(const OutputSection *os); 122 std::vector<InputSection *> getInputSections(const OutputSection *os);
|
D | Thunks.h | 48 virtual InputSection *getTargetInputSection() const { return nullptr; } in getTargetInputSection() 52 virtual bool isCompatibleWith(const InputSection &, in isCompatibleWith() argument 70 Thunk *addThunk(const InputSection &isec, Relocation &rel);
|
D | DWARF.h | 20 class InputSection; variable 35 InputSection *getInfoSection() const { in getInfoSection() 36 return cast<InputSection>(infoSection.sec); in getInfoSection()
|
D | Writer.cpp | 105 if (auto *isec = dyn_cast<InputSection>(s)) { in getOutputSectionName() 192 copy = make<InputSection>(cast<InputSection>(*s)); in copySectionsIntoPartitions() 219 part.armExidx->addSection(cast<InputSection>(s))) { in combineEhSections() 353 InputSection *sec = createInterpSection(); in createSyntheticSections() 691 InputSection *isec = dyn_cast_or_null<InputSection>(s); in markUsedLocalSymbols() 1116 if (isec->isLive() && isa<InputSection>(isec) && (isec->flags & SHF_ALLOC)) in forEachRelSec() 1122 for (InputSection *ex : part.armExidx->exidxSections) in forEachRelSec() 1136 InputSection *gotSection = in.gotPlt; in setReservedSymbolSections() 1138 gotSection = in.mipsGot ? cast<InputSection>(in.mipsGot) in setReservedSymbolSections() 1139 : cast<InputSection>(in.got); in setReservedSymbolSections() [all …]
|
D | SyntheticSections.h | 39 class SyntheticSection : public InputSection { 43 : InputSection(nullptr, flags, type, alignment, {}, name, in SyntheticSection() 93 void iterateFDEWithLSDA(llvm::function_ref<void(InputSection &)> fn); 108 llvm::function_ref<void(InputSection &)> fn); 483 void addInSec(int32_t tag, InputSection *sec); 484 void addInSecRelative(int32_t tag, InputSection *sec); 734 InputSection *section; 751 InputSection *sec; 1039 bool addSection(InputSection *isec); 1046 InputSection *getLinkOrderDep() const; [all …]
|
D | ARMErrataFix.h | 21 class InputSection; variable 43 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
|
D | AArch64ErrataFix.h | 20 class InputSection; variable 42 std::map<InputSection *, std::vector<const Defined *>> sectionMap;
|
D | MarkLive.cpp | 68 SmallVector<InputSection *, 0> queue; 193 if (sec == &InputSection::discarded) in enqueue() 210 if (InputSection *s = dyn_cast<InputSection>(sec)) in enqueue() 381 for (InputSection *isec : sec->dependentSections) in markLive()
|
/external/llvm-project/lld/MachO/ |
D | InputSection.cpp | 23 std::vector<InputSection *> macho::inputSections; 25 uint64_t InputSection::getFileOffset() const { in getFileOffset() 29 uint64_t InputSection::getFileSize() const { in getFileSize() 33 uint64_t InputSection::getVA() const { return parent->addr + outSecOff; } in getVA() 35 void InputSection::writeTo(uint8_t *buf) { in writeTo() 54 } else if (auto *referentIsec = r.referent.dyn_cast<InputSection *>()) { in writeTo() 65 bool macho::isCodeSection(InputSection *isec) { in isCodeSection() 82 std::string lld::toString(const InputSection *isec) { in toString()
|
D | InputSection.h | 21 class InputSection; variable 35 llvm::PointerUnion<Symbol *, InputSection *> referent; 38 class InputSection { 40 virtual ~InputSection() = default; 77 bool isCodeSection(InputSection *); 79 extern std::vector<InputSection *> inputSections; 83 std::string toString(const macho::InputSection *);
|
D | MergedOutputSection.h | 28 const InputSection *firstSection() const { return inputs.front(); } in firstSection() 29 const InputSection *lastSection() const { return inputs.back(); } in lastSection() 35 void mergeInput(InputSection *input); 40 std::vector<InputSection *> inputs;
|
D | MergedOutputSection.cpp | 19 void MergedOutputSection::mergeInput(InputSection *input) { in mergeInput() 35 for (InputSection *isec : inputs) { in finalize() 48 for (InputSection *isec : inputs) { in writeTo()
|
D | InputFiles.cpp | 163 InputSection *isec = make<InputSection>(); in parseSections() 188 static InputSection *findContainingSubsection(SubsectionMap &map, in findContainingSubsection() 243 InputSection *subsec = findContainingSubsection(subsecMap, &r.offset); in parseRelocations() 249 StringRef name, InputSection *isec, in createDefined() 333 InputSection *firstIsec = findContainingSubsection(subsecMap, &firstSize); in parseSymbols() 344 auto *secondIsec = make<InputSection>(*firstIsec); in parseSymbols() 362 InputSection *subsec = findContainingSubsection(subsecMap, &off); in parseSymbols() 370 InputSection *isec = make<InputSection>(); in OpaqueFile()
|
D | Target.h | 23 class InputSection; variable 57 virtual void prepareSymbolRelocation(Symbol *, const InputSection *,
|
D | SymbolTable.h | 23 class InputSection; variable 35 Symbol *addDefined(StringRef name, InputSection *isec, uint32_t value,
|
/external/llvm-project/lld/wasm/ |
D | OutputSections.cpp | 241 for (InputSection *section : inputSections) { in finalizeContents() 264 for (const InputSection *section : inputSections) in writeTo() 270 for (const InputSection *inputSect : inputSections) in getNumRelocations() 276 for (const InputSection *s : inputSections) in writeRelocations()
|