| /freebsd/contrib/llvm-project/lld/COFF/ |
| H A D | ICF.cpp | 44 bool assocEquals(const SectionChunk *a, const SectionChunk *b); 46 bool equalsConstant(const SectionChunk *a, const SectionChunk *b); 47 bool equalsVariable(const SectionChunk *a, const SectionChunk *b); 49 bool isEligible(SectionChunk *c); 58 std::vector<SectionChunk *> chunks; 76 bool ICF::isEligible(SectionChunk *c) { in isEligible() 109 chunks.begin() + begin + 1, chunks.begin() + end, [&](SectionChunk *s) { in segregate() 130 bool ICF::assocEquals(const SectionChunk *a, const SectionChunk *b) { in assocEquals() 133 auto considerForICF = [](const SectionChunk &assoc) { in assocEquals() 141 [&](const SectionChunk &ia, const SectionChunk &ib) { in assocEquals() [all …]
|
| H A D | Chunks.h | 217 RuntimePseudoReloc(Defined *sym, SectionChunk *target, uint32_t targetOffset, in RuntimePseudoReloc() 222 SectionChunk *target; 230 class SectionChunk : public Chunk { 238 friend SectionChunk; variable 251 SectionChunk(ObjFile *file, const coff_section *header, Kind k = SectionKind); 293 void addAssociative(SectionChunk *child); 328 AssociatedIterator, std::forward_iterator_tag, SectionChunk> { 331 AssociatedIterator(SectionChunk *head) : cur(head) {} in AssociatedIterator() 334 SectionChunk &operator*() const { return *cur; } 335 SectionChunk &operator*() { return *cur; } [all …]
|
| H A D | CallGraphSort.cpp | 53 DenseMap<const SectionChunk *, int> run(); 57 std::vector<const SectionChunk *> sections; 70 using SectionPair = std::pair<const SectionChunk *, const SectionChunk *>; 77 DenseMap<const SectionChunk *, int> secToCluster; in CallGraphSort() 79 auto getOrCreateNode = [&](const SectionChunk *isec) -> int { in CallGraphSort() 90 const auto *fromSec = cast<SectionChunk>(c.first.first->repl); in CallGraphSort() 91 const auto *toSec = cast<SectionChunk>(c.first.second->repl); in CallGraphSort() 154 DenseMap<const SectionChunk *, int> CallGraphSort::run() { in run() 197 DenseMap<const SectionChunk *, int> orderMap; in run() 221 const SectionChunk *sc = sections[i]; in run() [all …]
|
| H A D | InputFiles.h | 63 class SectionChunk; variable 147 ArrayRef<SectionChunk *> getDebugChunks() { return debugChunks; } in getDebugChunks() 148 ArrayRef<SectionChunk *> getSXDataChunks() { return sxDataChunks; } in getSXDataChunks() 149 ArrayRef<SectionChunk *> getGuardFidChunks() { return guardFidChunks; } in getGuardFidChunks() 150 ArrayRef<SectionChunk *> getGuardIATChunks() { return guardIATChunks; } in getGuardIATChunks() 151 ArrayRef<SectionChunk *> getGuardLJmpChunks() { return guardLJmpChunks; } in getGuardLJmpChunks() 152 ArrayRef<SectionChunk *> getGuardEHContChunks() { return guardEHContChunks; } in getGuardEHContChunks() 241 SectionChunk * 288 std::vector<SectionChunk *> resourceChunks; 291 std::vector<SectionChunk *> debugChunks; [all …]
|
| H A D | Chunks.cpp | 35 SectionChunk::SectionChunk(ObjFile *f, const coff_section *h, Kind k) in SectionChunk() function in lld::coff::SectionChunk 64 MachineTypes SectionChunk::getMachine() const { in getMachine() 77 static_assert(sizeof(SectionChunk) <= 88, "SectionChunk grew unexpectedly"); 88 static bool checkSecRel(const SectionChunk *sec, OutputSection *os) { in checkSecRel() 97 static void applySecRel(const SectionChunk *sec, uint8_t *off, in applySecRel() 124 void SectionChunk::applyRelX64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX64() 151 void SectionChunk::applyRelX86(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX86() 219 void SectionChunk::applyRelARM(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM() 293 static void applySecRelLow12A(const SectionChunk *sec, uint8_t *off, in applySecRelLow12A() 299 static void applySecRelHigh12A(const SectionChunk *sec, uint8_t *off, in applySecRelHigh12A() [all …]
|
| H A D | MarkLive.cpp | 27 SmallVector<SectionChunk *, 256> worklist; in markLive() 33 if (auto *sc = dyn_cast<SectionChunk>(c)) in markLive() 37 auto enqueue = [&](SectionChunk *c) { in markLive() 68 SectionChunk *sc = worklist.pop_back_val(); in markLive() 77 for (SectionChunk &c : sc->children()) in markLive()
|
| H A D | PDB.cpp | 107 void analyzeSymbolSubsection(SectionChunk *debugChunk, 124 void writeSymbolRecord(SectionChunk *debugChunk, 167 SectionChunk *debugChunk = nullptr; 214 void advanceRelocIndex(SectionChunk *debugChunk, ArrayRef<uint8_t> subsec); 216 void addUnrelocatedSubsection(SectionChunk *debugChunk, 219 void addFrameDataSubsection(SectionChunk *debugChunk, 226 void handleDebugS(SectionChunk *debugChunk); 548 void PDBLinker::writeSymbolRecord(SectionChunk *debugChunk, in writeSymbolRecord() 576 SectionChunk *debugChunk, uint32_t &moduleSymOffset, in analyzeSymbolSubsection() 644 for (SectionChunk *debugChunk : file->getDebugChunks()) { in writeAllModuleSymbolRecords() [all …]
|
| H A D | CallGraphSort.h | 15 class SectionChunk; variable 18 llvm::DenseMap<const SectionChunk *, int>
|
| H A D | PDB.h | 24 class SectionChunk; variable 31 getFileLineCodeView(const SectionChunk *c, uint32_t addr);
|
| H A D | InputFiles.cpp | 313 for (SectionChunk *chunk : hybmpChunks) { in initializeECThunks() 363 static SectionChunk *const pendingComdat = reinterpret_cast<SectionChunk *>(1); 377 SectionChunk *ObjFile::readSection(uint32_t sectionNumber, in readSection() 422 SectionChunk *c; in readSection() 426 c = make<SectionChunk>(this, sec); in readSection() 472 SectionChunk *parent = sparseChunks[parentIndex]; in readAssociativeDefinition() 499 SectionChunk *c = readSection(sectionNumber, def, ""); in readAssociativeDefinition() 520 SectionChunk *sc = sparseChunks[sectionNumber]; in recordPrevailingSymbolForMingw() 542 SectionChunk *sc = sparseChunks[sym.getSectionNumber()]; in createRegular() 709 SectionChunk *leaderChunk = leader->getChunk(); in handleComdatSelection() [all …]
|
| H A D | Writer.cpp | 246 ArrayRef<SectionChunk *> symIdxChunks, 249 ArrayRef<SectionChunk *> symIdxChunks, 489 SectionChunk *sc = dyn_cast<SectionChunk>(os->chunks[i]); in createThunks() 607 if (isa<SectionChunk>(c) && !c->getSize()) in createECCodeMap() 629 SectionChunk *sc = dyn_cast<SectionChunk>(c); in verifyRanges() 844 if (auto *sec = dyn_cast<SectionChunk>(c)) in sortBySectionOrder() 901 SectionChunk *sc1 = dyn_cast<SectionChunk>(s); in fixGnuImportChunks() 902 SectionChunk *sc2 = dyn_cast<SectionChunk>(t); in fixGnuImportChunks() 1010 static bool shouldStripSectionSuffix(SectionChunk *sc, StringRef name, in shouldStripSectionSuffix() 1032 DenseMap<const SectionChunk *, int> order = in sortSections() [all …]
|
| H A D | SymbolTable.h | 34 class SectionChunk; variable 127 SectionChunk *c = nullptr, uint32_t sectionOffset = 0, 145 SectionChunk *newSc = nullptr,
|
| H A D | LLDMapFile.cpp | 37 DenseMap<const SectionChunk *, SmallVector<DefinedRegular *, 4>>; 116 auto *sc = dyn_cast<SectionChunk>(c); in writeLLDMapFile()
|
| H A D | Config.h | 36 class SectionChunk; variable 277 llvm::MapVector<std::pair<const SectionChunk *, const SectionChunk *>,
|
| H A D | SymbolTable.cpp | 81 static Symbol *getSymbol(SectionChunk *sc, uint32_t addr) { in getSymbol() 107 getFileLineDwarf(const SectionChunk *c, uint32_t addr) { in getFileLineDwarf() 119 getFileLine(const SectionChunk *c, uint32_t addr) { in getFileLine() 145 auto *sc = dyn_cast<SectionChunk>(c); in getSymbolLocations() 359 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(refptr->getChunk()); in handleMinGWAutomaticImport() 577 SectionChunk *sc = sym->getChunk(); in initializeLoadConfig() 798 static std::string getSourceLocationObj(ObjFile *file, SectionChunk *sc, in getSourceLocationObj() 815 static std::string getSourceLocation(InputFile *file, SectionChunk *sc, in getSourceLocation() 834 SectionChunk *newSc, in reportDuplicate() 888 const coff_symbol_generic *sym, SectionChunk *c, in addRegular()
|
| H A D | MapFile.cpp | 254 std::vector<std::pair<SectionChunk *, SectionChunk *>> ChunkRanges; in writeMapFile() 256 auto *sc = dyn_cast<SectionChunk>(c); in writeMapFile()
|
| H A D | Symbols.h | 210 SectionChunk *c = nullptr, bool isWeak = false) 222 SectionChunk *getChunk() const { return *data; } in getChunk() 225 SectionChunk **data;
|
| H A D | Driver.cpp | 1075 if (auto *sec = dyn_cast<SectionChunk>(c)) in parseOrderFile() 1122 auto findSection = [&](StringRef name) -> SectionChunk * { in parseCallGraphFile() 1131 return dyn_cast_or_null<SectionChunk>(dr->getChunk()); in parseCallGraphFile() 1145 if (SectionChunk *from = findSection(fields[0])) in parseCallGraphFile() 1146 if (SectionChunk *to = findSection(fields[1])) in parseCallGraphFile() 1174 auto *from = dyn_cast_or_null<SectionChunk>(fromSym->getChunk()); in readCallGraphsFromObjectFiles() 1175 auto *to = dyn_cast_or_null<SectionChunk>(toSym->getChunk()); in readCallGraphsFromObjectFiles() 1185 if (SectionChunk *c = dyn_cast_or_null<SectionChunk>(d->getChunk())) in markAddrsig()
|
| H A D | DebugTypes.cpp | 289 SectionChunk *sec = in getDebugH() 290 SectionChunk::findByName(file->getDebugChunks(), ".debug$H"); in getDebugH()
|