Home
last modified time | relevance | path

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

/external/llvm-project/lld/COFF/
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;
78 bool ICF::isEligible(SectionChunk *c) { in isEligible()
107 chunks.begin() + begin + 1, chunks.begin() + end, [&](SectionChunk *s) { in segregate()
128 bool ICF::assocEquals(const SectionChunk *a, const SectionChunk *b) { in assocEquals()
131 auto considerForICF = [](const SectionChunk &assoc) { in assocEquals()
139 [&](const SectionChunk &ia, const SectionChunk &ib) { in assocEquals()
[all …]
DChunks.h180 class SectionChunk final : public Chunk {
188 friend SectionChunk; variable
201 SectionChunk(ObjFile *file, const coff_section *header);
232 void addAssociative(SectionChunk *child);
267 AssociatedIterator, std::forward_iterator_tag, SectionChunk> {
270 AssociatedIterator(SectionChunk *head) : cur(head) {} in AssociatedIterator()
273 SectionChunk &operator*() const { return *cur; }
274 SectionChunk &operator*() { return *cur; }
281 SectionChunk *cur = nullptr;
298 static SectionChunk *findByName(ArrayRef<SectionChunk *> sections,
[all …]
DChunks.cpp32 SectionChunk::SectionChunk(ObjFile *f, const coff_section *h) in SectionChunk() function in lld::coff::SectionChunk
58 static_assert(sizeof(SectionChunk) <= 88, "SectionChunk grew unexpectedly");
69 static bool checkSecRel(const SectionChunk *sec, OutputSection *os) { in checkSecRel()
78 static void applySecRel(const SectionChunk *sec, uint8_t *off, in applySecRel()
100 void SectionChunk::applyRelX64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX64()
120 void SectionChunk::applyRelX86(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX86()
183 void SectionChunk::applyRelARM(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM()
249 static void applySecRelLow12A(const SectionChunk *sec, uint8_t *off, in applySecRelLow12A()
255 static void applySecRelHigh12A(const SectionChunk *sec, uint8_t *off, in applySecRelHigh12A()
268 static void applySecRelLdr(const SectionChunk *sec, uint8_t *off, in applySecRelLdr()
[all …]
DCallGraphSort.cpp53 DenseMap<const SectionChunk *, int> run();
57 std::vector<const SectionChunk *> sections;
68 using SectionPair = std::pair<const SectionChunk *, const SectionChunk *>;
75 DenseMap<const SectionChunk *, int> secToCluster; in CallGraphSort()
77 auto getOrCreateNode = [&](const SectionChunk *isec) -> int { in CallGraphSort()
88 const auto *fromSec = cast<SectionChunk>(c.first.first->repl); in CallGraphSort()
89 const auto *toSec = cast<SectionChunk>(c.first.second->repl); in CallGraphSort()
152 DenseMap<const SectionChunk *, int> CallGraphSort::run() { in run()
195 DenseMap<const SectionChunk *, int> orderMap; in run()
218 const SectionChunk *sc = sections[i]; in run()
[all …]
DInputFiles.h56 class SectionChunk; variable
144 ArrayRef<SectionChunk *> getDebugChunks() { return debugChunks; } in getDebugChunks()
145 ArrayRef<SectionChunk *> getSXDataChunks() { return sxDataChunks; } in getSXDataChunks()
146 ArrayRef<SectionChunk *> getGuardFidChunks() { return guardFidChunks; } in getGuardFidChunks()
147 ArrayRef<SectionChunk *> getGuardIATChunks() { return guardIATChunks; } in getGuardIATChunks()
148 ArrayRef<SectionChunk *> getGuardLJmpChunks() { return guardLJmpChunks; } in getGuardLJmpChunks()
233 SectionChunk *
280 std::vector<SectionChunk *> resourceChunks;
283 std::vector<SectionChunk *> debugChunks;
287 std::vector<SectionChunk *> sxDataChunks;
[all …]
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()
DCallGraphSort.h16 class SectionChunk; variable
18 llvm::DenseMap<const SectionChunk *, int> computeCallGraphProfileOrder();
DPDB.h27 class SectionChunk; variable
36 getFileLineCodeView(const SectionChunk *c, uint32_t addr);
DWriter.cpp228 ArrayRef<SectionChunk *> symIdxChunks,
231 ArrayRef<SectionChunk *> symIdxChunks,
429 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(os->chunks[i]); in createThunks()
522 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(c); in verifyRanges()
673 if (auto *sec = dyn_cast<SectionChunk>(c)) in sortBySectionOrder()
730 SectionChunk *sc1 = dyn_cast_or_null<SectionChunk>(s); in fixGnuImportChunks()
731 SectionChunk *sc2 = dyn_cast_or_null<SectionChunk>(t); in fixGnuImportChunks()
797 static bool shouldStripSectionSuffix(SectionChunk *sc, StringRef name) { in shouldStripSectionSuffix()
818 DenseMap<const SectionChunk *, int> order = computeCallGraphProfileOrder(); in sortSections()
867 auto *sc = dyn_cast<SectionChunk>(c); in createSections()
[all …]
DSymbolTable.h33 class SectionChunk; variable
93 SectionChunk *c = nullptr, uint32_t sectionOffset = 0);
106 SectionChunk *newSc = nullptr,
DInputFiles.cpp214 static SectionChunk *const pendingComdat = reinterpret_cast<SectionChunk *>(1);
228 SectionChunk *ObjFile::readSection(uint32_t sectionNumber, in readSection()
273 auto *c = make<SectionChunk>(this, sec); in readSection()
315 SectionChunk *parent = sparseChunks[parentIndex]; in readAssociativeDefinition()
341 SectionChunk *c = readSection(sectionNumber, def, ""); in readAssociativeDefinition()
362 SectionChunk *sc = sparseChunks[sectionNumber]; in recordPrevailingSymbolForMingw()
384 SectionChunk *sc = sparseChunks[sym.getSectionNumber()]; in createRegular()
501 SectionChunk *leaderChunk = nullptr; in handleComdatSelection()
573 SectionChunk newChunk(this, getSection(sym)); in handleComdatSelection()
688 SectionChunk *c = readSection(sectionNumber, def, getName()); in createDefined()
[all …]
DSymbolTable.cpp87 static Symbol *getSymbol(SectionChunk *sc, uint32_t addr) { in getSymbol()
113 getFileLineDwarf(const SectionChunk *c, uint32_t addr) { in getFileLineDwarf()
125 getFileLine(const SectionChunk *c, uint32_t addr) { in getFileLine()
151 auto *sc = dyn_cast<SectionChunk>(c); in getSymbolLocations()
315 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(refptr->getChunk()); in handleMinGWAutomaticImport()
552 static std::string getSourceLocationObj(ObjFile *file, SectionChunk *sc, in getSourceLocationObj()
569 static std::string getSourceLocation(InputFile *file, SectionChunk *sc, in getSourceLocation()
588 SectionChunk *newSc, in reportDuplicate()
653 const coff_symbol_generic *sym, SectionChunk *c, in addRegular()
DConfig.h33 class SectionChunk; variable
212 llvm::MapVector<std::pair<const SectionChunk *, const SectionChunk *>,
DLLDMapFile.cpp35 DenseMap<const SectionChunk *, SmallVector<DefinedRegular *, 4>>;
112 auto *sc = dyn_cast<SectionChunk>(c); in writeLLDMapFile()
DMapFile.cpp253 std::vector<std::pair<SectionChunk *, SectionChunk *>> ChunkRanges; in writeMapFile()
255 auto *sc = dyn_cast<SectionChunk>(c); in writeMapFile()
DSymbols.h198 SectionChunk *c = nullptr)
209 SectionChunk *getChunk() const { return *data; } in getChunk()
212 SectionChunk **data;
DPDB.cpp615 if (auto *secChunk = dyn_cast_or_null<SectionChunk>(c)) { in createSectionContrib()
647 SectionChunk::consumeDebugMagic(relocatedDebugContents, ".debug$S"); in handleDebugS()
820 static ArrayRef<uint8_t> relocateDebugChunk(SectionChunk &debugChunk) { in relocateDebugChunk()
838 for (SectionChunk *debugChunk : source->file->getDebugChunks()) { in addDebugSymbols()
888 auto *secChunk = dyn_cast<SectionChunk>(c); in createModuleDBI()
1473 static bool findLineTable(const SectionChunk *c, uint32_t addr, in findLineTable()
1481 for (SectionChunk *dbgC : c->file->getDebugChunks()) { in findLineTable()
1498 SectionChunk::consumeDebugMagic(dbgC->getContents(), ".debug$S"); in findLineTable()
1556 lld::coff::getFileLineCodeView(const SectionChunk *c, uint32_t addr) { in getFileLineCodeView()
DDriver.cpp916 if (auto *sec = dyn_cast<SectionChunk>(c)) in parseOrderFile()
954 auto findSection = [&](StringRef name) -> SectionChunk * { in parseCallGraphFile()
963 return dyn_cast_or_null<SectionChunk>(dr->getChunk()); in parseCallGraphFile()
977 if (SectionChunk *from = findSection(fields[0])) in parseCallGraphFile()
978 if (SectionChunk *to = findSection(fields[1])) in parseCallGraphFile()
1003 auto *from = dyn_cast_or_null<SectionChunk>(fromSym->getChunk()); in readCallGraphsFromObjectFiles()
1004 auto *to = dyn_cast_or_null<SectionChunk>(toSym->getChunk()); in readCallGraphsFromObjectFiles()
1014 if (SectionChunk *c = dyn_cast_or_null<SectionChunk>(d->getChunk())) in markAddrsig()
DDebugTypes.cpp295 SectionChunk *sec = in getDebugH()
296 SectionChunk::findByName(file->getDebugChunks(), ".debug$H"); in getDebugH()