Home
last modified time | relevance | path

Searched refs:SectionChunk (Results 1 – 19 of 19) sorted by relevance

/src/contrib/llvm-project/lld/COFF/
H A DICF.cpp48 bool assocEquals(const SectionChunk *a, const SectionChunk *b);
50 bool equalsConstant(const SectionChunk *a, const SectionChunk *b);
51 bool equalsVariable(const SectionChunk *a, const SectionChunk *b);
53 bool isEligible(SectionChunk *c);
62 std::vector<SectionChunk *> chunks;
80 bool ICF::isEligible(SectionChunk *c) { in isEligible()
113 chunks.begin() + begin + 1, chunks.begin() + end, [&](SectionChunk *s) { in segregate()
134 bool ICF::assocEquals(const SectionChunk *a, const SectionChunk *b) { in assocEquals()
137 auto considerForICF = [](const SectionChunk &assoc) { in assocEquals()
145 [&](const SectionChunk &ia, const SectionChunk &ib) { in assocEquals()
[all …]
H A DChunks.h209 RuntimePseudoReloc(Defined *sym, SectionChunk *target, uint32_t targetOffset, in RuntimePseudoReloc()
214 SectionChunk *target;
222 class SectionChunk : public Chunk {
230 friend SectionChunk; variable
243 SectionChunk(ObjFile *file, const coff_section *header, Kind k = SectionKind);
286 void addAssociative(SectionChunk *child);
321 AssociatedIterator, std::forward_iterator_tag, SectionChunk> {
324 AssociatedIterator(SectionChunk *head) : cur(head) {} in AssociatedIterator()
327 SectionChunk &operator*() const { return *cur; }
328 SectionChunk &operator*() { return *cur; }
[all …]
H A DInputFiles.h58 class SectionChunk; variable
138 ArrayRef<SectionChunk *> getDebugChunks() { return debugChunks; } in getDebugChunks()
139 ArrayRef<SectionChunk *> getSXDataChunks() { return sxDataChunks; } in getSXDataChunks()
140 ArrayRef<SectionChunk *> getGuardFidChunks() { return guardFidChunks; } in getGuardFidChunks()
141 ArrayRef<SectionChunk *> getGuardIATChunks() { return guardIATChunks; } in getGuardIATChunks()
142 ArrayRef<SectionChunk *> getGuardLJmpChunks() { return guardLJmpChunks; } in getGuardLJmpChunks()
143 ArrayRef<SectionChunk *> getGuardEHContChunks() { return guardEHContChunks; } in getGuardEHContChunks()
232 SectionChunk *
279 std::vector<SectionChunk *> resourceChunks;
282 std::vector<SectionChunk *> debugChunks;
[all …]
H A DCallGraphSort.cpp54 DenseMap<const SectionChunk *, int> run();
58 std::vector<const SectionChunk *> sections;
71 using SectionPair = std::pair<const SectionChunk *, const SectionChunk *>;
78 DenseMap<const SectionChunk *, int> secToCluster; in CallGraphSort()
80 auto getOrCreateNode = [&](const SectionChunk *isec) -> int { in CallGraphSort()
91 const auto *fromSec = cast<SectionChunk>(c.first.first->repl); in CallGraphSort()
92 const auto *toSec = cast<SectionChunk>(c.first.second->repl); in CallGraphSort()
155 DenseMap<const SectionChunk *, int> CallGraphSort::run() { in run()
198 DenseMap<const SectionChunk *, int> orderMap; in run()
221 const SectionChunk *sc = sections[i]; in run()
[all …]
H A DChunks.cpp34 SectionChunk::SectionChunk(ObjFile *f, const coff_section *h, Kind k) in SectionChunk() function in lld::coff::SectionChunk
66 static_assert(sizeof(SectionChunk) <= 88, "SectionChunk grew unexpectedly");
77 static bool checkSecRel(const SectionChunk *sec, OutputSection *os) { in checkSecRel()
86 static void applySecRel(const SectionChunk *sec, uint8_t *off, in applySecRel()
113 void SectionChunk::applyRelX64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX64()
140 void SectionChunk::applyRelX86(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX86()
208 void SectionChunk::applyRelARM(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM()
282 static void applySecRelLow12A(const SectionChunk *sec, uint8_t *off, in applySecRelLow12A()
288 static void applySecRelHigh12A(const SectionChunk *sec, uint8_t *off, in applySecRelHigh12A()
301 static void applySecRelLdr(const SectionChunk *sec, uint8_t *off, in applySecRelLdr()
[all …]
H A DMarkLive.cpp29 SmallVector<SectionChunk *, 256> worklist; in markLive()
35 if (auto *sc = dyn_cast<SectionChunk>(c)) in markLive()
39 auto enqueue = [&](SectionChunk *c) { in markLive()
60 SectionChunk *sc = worklist.pop_back_val(); in markLive()
69 for (SectionChunk &c : sc->children()) in markLive()
H A DPDB.cpp117 void analyzeSymbolSubsection(SectionChunk *debugChunk,
134 void writeSymbolRecord(SectionChunk *debugChunk,
177 SectionChunk *debugChunk = nullptr;
223 void advanceRelocIndex(SectionChunk *debugChunk, ArrayRef<uint8_t> subsec);
225 void addUnrelocatedSubsection(SectionChunk *debugChunk,
228 void addFrameDataSubsection(SectionChunk *debugChunk,
235 void handleDebugS(SectionChunk *debugChunk);
555 void PDBLinker::writeSymbolRecord(SectionChunk *debugChunk, in writeSymbolRecord()
582 SectionChunk *debugChunk, uint32_t &moduleSymOffset, in analyzeSymbolSubsection()
650 for (SectionChunk *debugChunk : file->getDebugChunks()) { in writeAllModuleSymbolRecords()
[all …]
H A DCallGraphSort.h15 class SectionChunk; variable
18 llvm::DenseMap<const SectionChunk *, int>
H A DPDB.h24 class SectionChunk; variable
31 getFileLineCodeView(const SectionChunk *c, uint32_t addr);
H A DInputFiles.cpp162 for (SectionChunk *chunk : hybmpChunks) { in initializeECThunks()
219 static SectionChunk *const pendingComdat = reinterpret_cast<SectionChunk *>(1);
233 SectionChunk *ObjFile::readSection(uint32_t sectionNumber, in readSection()
278 SectionChunk *c; in readSection()
282 c = make<SectionChunk>(this, sec); in readSection()
328 SectionChunk *parent = sparseChunks[parentIndex]; in readAssociativeDefinition()
354 SectionChunk *c = readSection(sectionNumber, def, ""); in readAssociativeDefinition()
375 SectionChunk *sc = sparseChunks[sectionNumber]; in recordPrevailingSymbolForMingw()
397 SectionChunk *sc = sparseChunks[sym.getSectionNumber()]; in createRegular()
514 SectionChunk *leaderChunk = leader->getChunk(); in handleComdatSelection()
[all …]
H A DSymbolTable.h32 class SectionChunk; variable
97 SectionChunk *c = nullptr, uint32_t sectionOffset = 0,
113 SectionChunk *newSc = nullptr,
H A DWriter.cpp242 ArrayRef<SectionChunk *> symIdxChunks,
245 ArrayRef<SectionChunk *> symIdxChunks,
466 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(os->chunks[i]); in createThunks()
576 if (isa<SectionChunk>(c) && !c->getSize()) in createECCodeMap()
598 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(c); in verifyRanges()
805 if (auto *sec = dyn_cast<SectionChunk>(c)) in sortBySectionOrder()
862 SectionChunk *sc1 = dyn_cast_or_null<SectionChunk>(s); in fixGnuImportChunks()
863 SectionChunk *sc2 = dyn_cast_or_null<SectionChunk>(t); in fixGnuImportChunks()
929 static bool shouldStripSectionSuffix(SectionChunk *sc, StringRef name, in shouldStripSectionSuffix()
951 DenseMap<const SectionChunk *, int> order = in sortSections()
[all …]
H A DSymbolTable.cpp122 static Symbol *getSymbol(SectionChunk *sc, uint32_t addr) { in getSymbol()
148 getFileLineDwarf(const SectionChunk *c, uint32_t addr) { in getFileLineDwarf()
160 getFileLine(const SectionChunk *c, uint32_t addr) { in getFileLine()
186 auto *sc = dyn_cast<SectionChunk>(c); in getSymbolLocations()
382 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(refptr->getChunk()); in handleMinGWAutomaticImport()
651 static std::string getSourceLocationObj(ObjFile *file, SectionChunk *sc, in getSourceLocationObj()
668 static std::string getSourceLocation(InputFile *file, SectionChunk *sc, in getSourceLocation()
687 SectionChunk *newSc, in reportDuplicate()
746 const coff_symbol_generic *sym, SectionChunk *c, in addRegular()
H A DConfig.h34 class SectionChunk; variable
270 llvm::MapVector<std::pair<const SectionChunk *, const SectionChunk *>,
H A DLLDMapFile.cpp37 DenseMap<const SectionChunk *, SmallVector<DefinedRegular *, 4>>;
116 auto *sc = dyn_cast<SectionChunk>(c); in writeLLDMapFile()
H A DMapFile.cpp255 std::vector<std::pair<SectionChunk *, SectionChunk *>> ChunkRanges; in writeMapFile()
257 auto *sc = dyn_cast<SectionChunk>(c); in writeMapFile()
H A DSymbols.h203 SectionChunk *c = nullptr, bool isWeak = false)
215 SectionChunk *getChunk() const { return *data; } in getChunk()
218 SectionChunk **data;
H A DDriver.cpp1081 if (auto *sec = dyn_cast<SectionChunk>(c)) in parseOrderFile()
1127 auto findSection = [&](StringRef name) -> SectionChunk * { in parseCallGraphFile()
1136 return dyn_cast_or_null<SectionChunk>(dr->getChunk()); in parseCallGraphFile()
1150 if (SectionChunk *from = findSection(fields[0])) in parseCallGraphFile()
1151 if (SectionChunk *to = findSection(fields[1])) in parseCallGraphFile()
1179 auto *from = dyn_cast_or_null<SectionChunk>(fromSym->getChunk()); in readCallGraphsFromObjectFiles()
1180 auto *to = dyn_cast_or_null<SectionChunk>(toSym->getChunk()); in readCallGraphsFromObjectFiles()
1190 if (SectionChunk *c = dyn_cast_or_null<SectionChunk>(d->getChunk())) in markAddrsig()
H A DDebugTypes.cpp290 SectionChunk *sec = in getDebugH()
291 SectionChunk::findByName(file->getDebugChunks(), ".debug$H"); in getDebugH()