|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/lld/COFF/InputFiles.h 53 class SectionChunk;
tools/lld/COFF/PDB.h 25 class SectionChunk;
tools/lld/COFF/SymbolTable.h 33 class SectionChunk;
References
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
127 ArrayRef(const std::vector<U *, A> &Vec,
129 std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/iterator.h 68 : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT,
include/llvm/Support/Alignment.h 103 return Constant<std::alignment_of<T>::value>();
include/llvm/Support/Allocator.h 81 template <typename T> T *Allocate(size_t Num = 1) {
82 return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
82 return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
470 for (char *Ptr = Begin; Ptr + sizeof(T) <= End; Ptr += sizeof(T))
470 for (char *Ptr = Begin; Ptr + sizeof(T) <= End; Ptr += sizeof(T))
478 char *Begin = (char *)alignAddr(*I, Align::Of<T>());
488 DestroyElements((char *)alignAddr(Ptr, Align::Of<T>()),
496 T *Allocate(size_t num = 1) { return Allocator.Allocate<T>(num); }
496 T *Allocate(size_t num = 1) { return Allocator.Allocate<T>(num); }
include/llvm/Support/Casting.h 58 return To::classof(&Val);
66 static inline bool doit(const From &) { return true; }
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
367 dyn_cast_or_null(Y *Val) {
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
tools/lld/COFF/Chunks.cpp 58 static_assert(sizeof(SectionChunk) <= 88, "SectionChunk grew unexpectedly");
69 static bool checkSecRel(const SectionChunk *sec, OutputSection *os) {
78 static void applySecRel(const SectionChunk *sec, uint8_t *off,
249 static void applySecRelLow12A(const SectionChunk *sec, uint8_t *off,
255 static void applySecRelHigh12A(const SectionChunk *sec, uint8_t *off,
268 static void applySecRelLdr(const SectionChunk *sec, uint8_t *off,
317 static void maybeReportRelocationToDiscarded(const SectionChunk *fromChunk,
416 void SectionChunk::addAssociative(SectionChunk *child) {
623 SectionChunk *SectionChunk::findByName(ArrayRef<SectionChunk *> sections,
623 SectionChunk *SectionChunk::findByName(ArrayRef<SectionChunk *> sections,
625 for (SectionChunk *c : sections)
631 void SectionChunk::replace(SectionChunk *other) {
870 void MergeChunk::addSection(SectionChunk *c) {
882 for (SectionChunk *c : sections)
890 for (SectionChunk *c : sections) {
tools/lld/COFF/Chunks.h 232 void addAssociative(SectionChunk *child);
267 AssociatedIterator, std::forward_iterator_tag, SectionChunk> {
270 AssociatedIterator(SectionChunk *head) : cur(head) {}
276 const SectionChunk &operator*() const { return *cur; }
277 SectionChunk &operator*() { return *cur; }
284 SectionChunk *cur = nullptr;
301 static SectionChunk *findByName(ArrayRef<SectionChunk *> sections,
301 static SectionChunk *findByName(ArrayRef<SectionChunk *> sections,
331 SectionChunk *repl;
334 SectionChunk *assocChildren = nullptr;
337 void replace(SectionChunk *other);
353 if (isa<SectionChunk>(this))
360 if (isa<SectionChunk>(this))
368 if (isa<SectionChunk>(this))
375 if (isa<SectionChunk>(this))
382 if (isa<SectionChunk>(this))
389 if (isa<SectionChunk>(this))
407 static void addSection(SectionChunk *c);
417 std::vector<SectionChunk *> sections;
634 RuntimePseudoReloc(Defined *sym, SectionChunk *target, uint32_t targetOffset,
639 SectionChunk *target;
663 if (auto *sc = dyn_cast<SectionChunk>(this))
tools/lld/COFF/Driver.cpp 882 if (auto *sec = dyn_cast<SectionChunk>(c))
882 if (auto *sec = dyn_cast<SectionChunk>(c))
910 if (SectionChunk *c = dyn_cast_or_null<SectionChunk>(d->getChunk()))
910 if (SectionChunk *c = dyn_cast_or_null<SectionChunk>(d->getChunk()))
tools/lld/COFF/ICF.cpp 49 bool assocEquals(const SectionChunk *a, const SectionChunk *b);
49 bool assocEquals(const SectionChunk *a, const SectionChunk *b);
51 bool equalsConstant(const SectionChunk *a, const SectionChunk *b);
51 bool equalsConstant(const SectionChunk *a, const SectionChunk *b);
52 bool equalsVariable(const SectionChunk *a, const SectionChunk *b);
52 bool equalsVariable(const SectionChunk *a, const SectionChunk *b);
54 bool isEligible(SectionChunk *c);
63 std::vector<SectionChunk *> chunks;
79 bool ICF::isEligible(SectionChunk *c) {
129 bool ICF::assocEquals(const SectionChunk *a, const SectionChunk *b) {
129 bool ICF::assocEquals(const SectionChunk *a, const SectionChunk *b) {
132 for (const SectionChunk &c : sc->children())
143 bool ICF::equalsConstant(const SectionChunk *a, const SectionChunk *b) {
143 bool ICF::equalsConstant(const SectionChunk *a, const SectionChunk *b) {
176 bool ICF::equalsVariable(const SectionChunk *a, const SectionChunk *b) {
176 bool ICF::equalsVariable(const SectionChunk *a, const SectionChunk *b) {
249 if (auto *sc = dyn_cast<SectionChunk>(c)) {
249 if (auto *sc = dyn_cast<SectionChunk>(c)) {
261 for (SectionChunk *sc : mc->sections)
tools/lld/COFF/InputFiles.cpp 215 static SectionChunk *const pendingComdat = reinterpret_cast<SectionChunk *>(1);
230 SectionChunk *ObjFile::readSection(uint32_t sectionNumber,
270 auto *c = make<SectionChunk>(this, sec);
270 auto *c = make<SectionChunk>(this, sec);
310 SectionChunk *parent = sparseChunks[parentIndex];
336 SectionChunk *c = readSection(sectionNumber, def, "");
354 SectionChunk *sc = sparseChunks[sectionNumber];
380 SectionChunk *sc = sparseChunks[sym.getSectionNumber()];
482 SectionChunk *leaderChunk = nullptr;
535 SectionChunk newChunk(this, getSection(sym));
655 SectionChunk *c = readSection(sectionNumber, def, getName());
686 if (SectionChunk *sec = SectionChunk::findByName(debugChunks, secName))
686 if (SectionChunk *sec = SectionChunk::findByName(debugChunks, secName))
tools/lld/COFF/InputFiles.h 140 ArrayRef<SectionChunk *> getDebugChunks() { return debugChunks; }
141 ArrayRef<SectionChunk *> getSXDataChunks() { return sXDataChunks; }
142 ArrayRef<SectionChunk *> getGuardFidChunks() { return guardFidChunks; }
143 ArrayRef<SectionChunk *> getGuardLJmpChunks() { return guardLJmpChunks; }
224 SectionChunk *
270 std::vector<SectionChunk *> resourceChunks;
273 std::vector<SectionChunk *> debugChunks;
277 std::vector<SectionChunk *> sXDataChunks;
281 std::vector<SectionChunk *> guardFidChunks;
282 std::vector<SectionChunk *> guardLJmpChunks;
289 std::vector<SectionChunk *> sparseChunks;
tools/lld/COFF/MapFile.cpp 36 DenseMap<const SectionChunk *, SmallVector<DefinedRegular *, 4>>;
113 auto *sc = dyn_cast<SectionChunk>(c);
113 auto *sc = dyn_cast<SectionChunk>(c);
tools/lld/COFF/MarkLive.cpp 29 SmallVector<SectionChunk *, 256> worklist;
33 if (auto *sc = dyn_cast<SectionChunk>(c))
33 if (auto *sc = dyn_cast<SectionChunk>(c))
58 SectionChunk *sc = worklist.pop_back_val();
67 for (SectionChunk &c : sc->children())
tools/lld/COFF/PDB.cpp 238 void handleDebugS(lld::coff::SectionChunk &debugS);
303 SectionChunk *sec =
304 SectionChunk::findByName(file->getDebugChunks(), ".debug$H");
941 SectionChunk &debugChunk) {
956 if (auto *secChunk = dyn_cast_or_null<SectionChunk>(c)) {
986 void DebugSHandler::handleDebugS(lld::coff::SectionChunk &debugS) {
989 ArrayRef<uint8_t> relocatedDebugContents = SectionChunk::consumeDebugMagic(
1190 for (SectionChunk *debugChunk : file->getDebugChunks()) {
1242 auto *secChunk = dyn_cast<SectionChunk>(c);
1242 auto *secChunk = dyn_cast<SectionChunk>(c);
1712 static bool findLineTable(const SectionChunk *c, uint32_t addr,
1720 for (SectionChunk *dbgC : c->file->getDebugChunks()) {
1737 SectionChunk::consumeDebugMagic(dbgC->getContents(), ".debug$S");
1795 getFileLineCodeView(const SectionChunk *c, uint32_t addr) {
tools/lld/COFF/PDB.h 34 getFileLineCodeView(const SectionChunk *c, uint32_t addr);
tools/lld/COFF/SymbolTable.cpp 86 static Symbol *getSymbol(SectionChunk *sc, uint32_t addr) {
112 getFileLineDwarf(const SectionChunk *c, uint32_t addr) {
124 getFileLine(const SectionChunk *c, uint32_t addr) {
146 auto *sc = dyn_cast<SectionChunk>(c);
146 auto *sc = dyn_cast<SectionChunk>(c);
294 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(refptr->getChunk());
294 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(refptr->getChunk());
530 static std::string getSourceLocationObj(ObjFile *file, SectionChunk *sc,
547 static std::string getSourceLocation(InputFile *file, SectionChunk *sc,
564 SectionChunk *newSc,
623 const coff_symbol_generic *sym, SectionChunk *c,
tools/lld/COFF/SymbolTable.h 94 SectionChunk *c = nullptr, uint32_t sectionOffset = 0);
107 SectionChunk *newSc = nullptr,
tools/lld/COFF/Symbols.h 174 SectionChunk *c = nullptr)
185 SectionChunk *getChunk() const { return *data; }
188 SectionChunk **data;
tools/lld/COFF/Writer.cpp 213 ArrayRef<SectionChunk *> symIdxChunks,
408 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(os->chunks[i]);
408 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(os->chunks[i]);
501 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(c);
501 SectionChunk *sc = dyn_cast_or_null<SectionChunk>(c);
645 if (auto *sec = dyn_cast<SectionChunk>(c))
702 SectionChunk *sc1 = dyn_cast_or_null<SectionChunk>(s);
702 SectionChunk *sc1 = dyn_cast_or_null<SectionChunk>(s);
703 SectionChunk *sc2 = dyn_cast_or_null<SectionChunk>(t);
703 SectionChunk *sc2 = dyn_cast_or_null<SectionChunk>(t);
769 static bool shouldStripSectionSuffix(SectionChunk *sc, StringRef name) {
826 auto *sc = dyn_cast<SectionChunk>(c);
826 auto *sc = dyn_cast<SectionChunk>(c);
1070 for (SectionChunk *sc : mc->sections)
1417 SectionChunk *sc = b->getChunk();
1492 if (auto *sc = dyn_cast<SectionChunk>(c))
1492 if (auto *sc = dyn_cast<SectionChunk>(c))
1536 SectionChunk *sc = dyn_cast<SectionChunk>(d->getChunk());
1536 SectionChunk *sc = dyn_cast<SectionChunk>(d->getChunk());
1553 SectionChunk *sc = dyn_cast<SectionChunk>(c);
1553 SectionChunk *sc = dyn_cast<SectionChunk>(c);
1624 ArrayRef<SectionChunk *> symIdxChunks,
1626 for (SectionChunk *c : symIdxChunks) {
1686 auto *sc = dyn_cast<SectionChunk>(c);
1686 auto *sc = dyn_cast<SectionChunk>(c);
1856 auto sa = dyn_cast<SectionChunk>(a);
1857 auto sb = dyn_cast<SectionChunk>(b);
1869 auto sc = dyn_cast<SectionChunk>(c);
tools/lld/include/lld/Common/Memory.h 47 llvm::SpecificBumpPtrAllocator<T> alloc;
52 template <typename T, typename... U> T *make(U &&... args) {
53 static SpecificAlloc<T> alloc;
54 return new (alloc.alloc.Allocate()) T(std::forward<U>(args)...);
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 123 typedef _Tp value_type;
usr/include/c++/7.4.0/type_traits 1983 { typedef _Up type; };