|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/lld/include/lld/Core/ArchiveLibraryFile.h 26 class ArchiveLibraryFile : public File {
tools/lld/include/lld/Core/File.h 247 class ErrorFile : public File {
tools/lld/include/lld/Core/SharedLibraryFile.h 20 class SharedLibraryFile : public File {
tools/lld/include/lld/Core/Simple.h 38 class SimpleFile : public File {
tools/lld/lib/ReaderWriter/MachO/SectCreateFile.h 23 class SectCreateFile : public File {
tools/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp 624 class NormalizedFile : public lld::File {
Declarations
tools/lld/include/lld/Core/Atom.h 17 class File;
tools/lld/include/lld/Core/DefinedAtom.h 18 class File;
tools/lld/include/lld/Core/LinkingContext.h 27 class File;
tools/lld/include/lld/Core/Reader.h 30 class File;
tools/lld/include/lld/Core/Writer.h 18 class File;
tools/lld/include/lld/ReaderWriter/YamlContext.h 18 class File;
tools/lld/lib/ReaderWriter/MachO/Atoms.h 23 class File;
References
include/llvm/Support/Casting.h 34 using SimpleType = From; // The real type this represents...
37 static SimpleType &getSimplifiedValue(From &Val) { return Val; }
41 using NonConstSimpleType = typename simplify_type<From>::SimpleType;
47 static RetType getSimplifiedValue(const From& Val) {
57 static inline bool doit(const From &Val) {
76 static inline bool doit(const From &Val) {
77 return isa_impl<To, From>::doit(Val);
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
142 return isa_impl_wrap<X, const Y,
143 typename simplify_type<const Y>::SimpleType>::doit(Val);
236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;
236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;
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*,
266 typename simplify_type<Y*>::SimpleType>::doit(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) {
include/llvm/Support/type_traits.h 55 struct add_const_past_pointer { using type = const T; };
tools/lld/include/lld/Core/ArchiveLibraryFile.h 26 class ArchiveLibraryFile : public File {
28 static bool classof(const File *f) {
34 virtual File *find(StringRef name) = 0;
37 parseAllMembers(std::vector<std::unique_ptr<File>> &result) = 0;
tools/lld/include/lld/Core/Atom.h 52 virtual const File& file() const = 0;
tools/lld/include/lld/Core/File.h 247 class ErrorFile : public File {
tools/lld/include/lld/Core/LinkingContext.h 157 virtual void createInternalFiles(std::vector<std::unique_ptr<File>> &) const;
193 virtual void createImplicitFiles(std::vector<std::unique_ptr<File>> &) = 0;
202 virtual llvm::Error writeFile(const File &linkedFile) const;
216 virtual llvm::Error handleLoadedFile(File &file) = 0;
226 virtual std::unique_ptr<File> createEntrySymbolFile() const;
227 std::unique_ptr<File> createEntrySymbolFile(StringRef filename) const;
230 virtual std::unique_ptr<File> createUndefinedSymbolFile() const;
231 std::unique_ptr<File> createUndefinedSymbolFile(StringRef filename) const;
tools/lld/include/lld/Core/Node.h 59 explicit FileNode(std::unique_ptr<File> f)
66 File *getFile() { return _file.get(); }
69 std::unique_ptr<File> _file;
tools/lld/include/lld/Core/Reader.h 51 virtual ErrorOr<std::unique_ptr<File>>
73 virtual bool handledDocTag(llvm::yaml::IO &io, const lld::File *&f) const = 0;
87 ErrorOr<std::unique_ptr<File>>
103 bool handleTaggedDoc(llvm::yaml::IO &io, const lld::File *&file) const;
tools/lld/include/lld/Core/Resolver.h 44 llvm::Expected<bool> handleFile(File &);
47 llvm::Expected<bool> handleArchiveFile(File &);
50 llvm::Error handleSharedLibrary(File &);
61 File *getFile(int &index);
69 llvm::Expected<bool> forEachUndefines(File &file, UndefCallback callback);
89 std::vector<File *> _files;
90 std::map<File *, bool> _newUndefinesAdded;
100 std::map<File *, size_t> _undefineIndex;
tools/lld/include/lld/Core/SharedLibraryFile.h 20 class SharedLibraryFile : public File {
22 static bool classof(const File *f) {
tools/lld/include/lld/Core/Simple.h 38 class SimpleFile : public File {
40 SimpleFile(StringRef path, File::Kind kind)
145 explicit SimpleDefinedAtom(const File &f)
152 const File &file() const override { return _file; }
241 const File &_file;
248 SimpleUndefinedAtom(const File &f, StringRef name) : _file(f), _name(name) {
255 const File &file() const override { return _file; }
264 const File &_file;
tools/lld/include/lld/Core/Writer.h 30 virtual llvm::Error writeFile(const File &linkedFile, StringRef path) = 0;
35 virtual void createImplicitFiles(std::vector<std::unique_ptr<File>> &) {}
tools/lld/include/lld/ReaderWriter/MachOLinkingContext.h 94 void createImplicitFiles(std::vector<std::unique_ptr<File>> &) override;
413 llvm::Error handleLoadedFile(File &file) override;
421 File* flatNamespaceFile() const { return _flatNamespaceFile; }
493 mutable std::vector<std::unique_ptr<File>> _indirectDylibs;
501 File *_flatNamespaceFile = nullptr;
tools/lld/include/lld/ReaderWriter/YamlContext.h 35 File *_file = nullptr;
tools/lld/lib/Core/File.cpp 16 File::AtomVector<DefinedAtom> File::_noDefinedAtoms;
17 File::AtomVector<UndefinedAtom> File::_noUndefinedAtoms;
18 File::AtomVector<SharedLibraryAtom> File::_noSharedLibraryAtoms;
19 File::AtomVector<AbsoluteAtom> File::_noAbsoluteAtoms;
tools/lld/lib/Core/LinkingContext.cpp 26 llvm::Error LinkingContext::writeFile(const File &linkedFile) const {
30 std::unique_ptr<File> LinkingContext::createEntrySymbolFile() const {
34 std::unique_ptr<File>
39 File::kindEntryObject));
45 std::unique_ptr<File> LinkingContext::createUndefinedSymbolFile() const {
49 std::unique_ptr<File>
54 new SimpleFile(filename, File::kindUndefinedSymsObject));
62 std::vector<std::unique_ptr<File>> &result) const {
63 if (std::unique_ptr<File> file = createEntrySymbolFile())
65 if (std::unique_ptr<File> file = createUndefinedSymbolFile())
tools/lld/lib/Core/Reader.cpp 35 ErrorOr<std::unique_ptr<File>>
63 const lld::File *&file) const {
tools/lld/lib/Core/Resolver.cpp 32 llvm::Expected<bool> Resolver::handleFile(File &file) {
49 llvm::Expected<bool> Resolver::forEachUndefines(File &file,
74 llvm::Expected<bool> Resolver::handleArchiveFile(File &file) {
78 if (File *member = archiveFile->find(undefName)) {
86 llvm::Error Resolver::handleSharedLibrary(File &file) {
191 File *Resolver::getFile(int &index) {
217 std::set<File *> seen;
222 File *file = getFile(index);
233 case File::kindErrorObject:
234 case File::kindNormalizedObject:
235 case File::kindMachObject:
236 case File::kindCEntryObject:
237 case File::kindHeaderObject:
238 case File::kindEntryObject:
239 case File::kindUndefinedSymsObject:
240 case File::kindStubHelperObject:
241 case File::kindResolverMergedObject:
242 case File::kindSectCreateObject: {
262 case File::kindArchiveLibrary: {
276 case File::kindSharedLibrary:
tools/lld/lib/Driver/DarwinLdDriver.cpp 95 static std::vector<std::unique_ptr<File>>
97 std::vector<std::unique_ptr<File>> result;
102 static std::vector<std::unique_ptr<File>>
103 parseMemberFiles(std::unique_ptr<File> file) {
104 std::vector<std::unique_ptr<File>> members;
114 std::vector<std::unique_ptr<File>> loadFile(MachOLinkingContext &ctx,
123 ErrorOr<std::unique_ptr<File>> fileOrErr =
127 std::unique_ptr<File> &file = fileOrErr.get();
138 std::vector<std::unique_ptr<File>> files;
160 std::vector<std::unique_ptr<File>> files =
162 for (std::unique_ptr<File> &file : files)
1134 std::vector<std::unique_ptr<File>> Files;
tools/lld/lib/ReaderWriter/FileArchive.cpp 50 File *find(StringRef name) override {
68 std::unique_ptr<File> result;
72 File *file = result.get();
81 parseAllMembers(std::vector<std::unique_ptr<File>> &result) override {
87 std::unique_ptr<File> file;
139 std::unique_ptr<File> &result) const {
153 ErrorOr<std::unique_ptr<File>> fileOrErr =
198 std::vector<std::unique_ptr<File>> _filesReturned;
209 ErrorOr<std::unique_ptr<File>> loadFile(std::unique_ptr<MemoryBuffer> mb,
212 std::unique_ptr<File> ret =
tools/lld/lib/ReaderWriter/MachO/Atoms.h 29 MachODefinedAtom(const File &f, const StringRef name, Scope scope,
37 MachODefinedAtom(const File &f, const StringRef name, Scope scope,
89 MachODefinedCustomSectionAtom(const File &f, const StringRef name,
113 MachOTentativeDefAtom(const File &f, const StringRef name, Scope scope,
143 MachOSharedLibraryAtom(const File &file, StringRef name,
157 const File &file() const override { return _file; }
172 const File &_file;
tools/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp 67 UnwindInfoAtom(ArchHandler &archHandler, const File &file, bool isBig,
tools/lld/lib/ReaderWriter/MachO/File.h 32 : SimpleFile(mb->getBufferIdentifier(), File::kindMachObject),
37 : SimpleFile(path, File::kindMachObject) {}
229 static inline bool classof(const File *F) {
230 return F->kind() == File::kindMachObject;
tools/lld/lib/ReaderWriter/MachO/GOTPass.cpp 53 GOTEntryAtom(const File &file, bool is64, StringRef name)
tools/lld/lib/ReaderWriter/MachO/LayoutPass.cpp 136 static void printDefinedAtoms(const File::AtomRange<DefinedAtom> &atomRange) {
149 void LayoutPass::checkFollowonChain(const File::AtomRange<DefinedAtom> &range) {
225 const File *leftFile = &leftRoot->file();
226 const File *rightFile = &rightRoot->file();
334 void LayoutPass::buildFollowOnTable(const File::AtomRange<DefinedAtom> &range) {
403 LayoutPass::buildOrdinalOverrideMap(const File::AtomRange<DefinedAtom> &range) {
423 LayoutPass::decorate(File::AtomRange<DefinedAtom> &atomRange) const {
435 void LayoutPass::undecorate(File::AtomRange<DefinedAtom> &atomRange,
447 File::AtomRange<DefinedAtom> atomRange = mergedFile.defined();
tools/lld/lib/ReaderWriter/MachO/LayoutPass.h 75 void buildFollowOnTable(const File::AtomRange<DefinedAtom> &range);
78 void buildOrdinalOverrideMap(const File::AtomRange<DefinedAtom> &range);
106 std::vector<SortKey> decorate(File::AtomRange<DefinedAtom> &atomRange) const;
108 void undecorate(File::AtomRange<DefinedAtom> &atomRange,
112 void checkFollowonChain(const File::AtomRange<DefinedAtom> &range);
tools/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp 179 File *file = node->getFile();
681 ErrorOr<std::unique_ptr<File>> fileOrErr =
685 std::unique_ptr<File> &file = fileOrErr.get();
743 std::vector<std::unique_ptr<File> > &result) {
939 const File *objFile = &atom->file();
1002 File *file = node->getFile();
1025 llvm::Error MachOLinkingContext::handleLoadedFile(File &file) {
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFile.h 312 llvm::Expected<std::unique_ptr<lld::File>>
318 normalizedFromAtoms(const lld::File &atomFile, const MachOLinkingContext &ctxt);
328 bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const override;
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp 541 ErrorOr<std::unique_ptr<File>>
544 std::unique_ptr<File> ret =
567 ErrorOr<std::unique_ptr<File>>
570 std::unique_ptr<File> ret =
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp 114 void processDefinedAtoms(const lld::File &atomFile);
125 llvm::Error addSymbols(const lld::File &atomFile, NormalizedFile &file);
126 void addIndirectSymbols(const lld::File &atomFile, NormalizedFile &file);
127 void addRebaseAndBindingInfo(const lld::File &, NormalizedFile &file);
128 void addExportInfo(const lld::File &, NormalizedFile &file);
129 void addSectionRelocs(const lld::File &, NormalizedFile &file);
130 void addFunctionStarts(const lld::File &, NormalizedFile &file);
131 void buildDataInCodeArray(const lld::File &, NormalizedFile &file);
132 void addDependentDylibs(const lld::File &, NormalizedFile &file);
399 void Util::processDefinedAtoms(const lld::File &atomFile) {
804 const File *objFile = nullptr;
1033 llvm::Error Util::addSymbols(const lld::File &atomFile,
1170 void Util::addIndirectSymbols(const lld::File &atomFile, NormalizedFile &file) {
1220 void Util::addDependentDylibs(const lld::File &atomFile,
1292 void Util::addSectionRelocs(const lld::File &, NormalizedFile &file) {
1335 void Util::addFunctionStarts(const lld::File &, NormalizedFile &file) {
1379 void Util::buildDataInCodeArray(const lld::File &, NormalizedFile &file) {
1421 void Util::addRebaseAndBindingInfo(const lld::File &atomFile,
1533 void Util::addExportInfo(const lld::File &atomFile, NormalizedFile &nFile) {
1585 normalizedFromAtoms(const lld::File &atomFile,
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp 1401 llvm::Expected<std::unique_ptr<lld::File>>
1410 llvm::Expected<std::unique_ptr<lld::File>>
1618 llvm::Expected<std::unique_ptr<lld::File>>
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp 757 const lld::File *&file) const {
tools/lld/lib/ReaderWriter/MachO/ObjCPass.cpp 32 ObjCImageInfoAtom(const File &file, bool isBig,
tools/lld/lib/ReaderWriter/MachO/SectCreateFile.h 23 class SectCreateFile : public File {
27 SectCreateAtom(const File &file, StringRef segName, StringRef sectName,
tools/lld/lib/ReaderWriter/MachO/StubsPass.cpp 36 LazyPointerAtom(const File &file, bool is64)
72 NonLazyPointerAtom(const File &file, bool is64, ContentType contentType)
109 StubAtom(const File &file, const ArchHandler::StubInfo &stubInfo)
143 StubHelperAtom(const File &file, const ArchHandler::StubInfo &stubInfo)
178 StubHelperCommonAtom(const File &file, const ArchHandler::StubInfo &stubInfo)
tools/lld/lib/ReaderWriter/MachO/TLVPass.cpp 29 TLVPEntryAtom(const File &file, bool is64, StringRef name)
tools/lld/lib/ReaderWriter/MachO/WriterMachO.cpp 30 llvm::Error writeFile(const lld::File &file, StringRef path) override {
48 void createImplicitFiles(std::vector<std::unique_ptr<File>> &r) override {
tools/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp 75 RefNameBuilder(const lld::File &file)
183 RefNameResolver(const lld::File *file, IO &io);
228 const lld::File *_content;
286 static void enumeration(IO &io, lld::File::Kind &value) {
287 io.enumCase(value, "error-object", lld::File::kindErrorObject);
288 io.enumCase(value, "object", lld::File::kindMachObject);
289 io.enumCase(value, "shared-library", lld::File::kindSharedLibrary);
290 io.enumCase(value, "static-library", lld::File::kindArchiveLibrary);
527 template <typename T> struct SequenceTraits<File::AtomRange<T> > {
528 static size_t size(IO &io, File::AtomRange<T> &seq) { return seq.size(); }
529 static T *&element(IO &io, File::AtomRange<T> &seq, size_t index) {
559 static size_t size(IO &io, std::vector<const lld::File *> &seq) {
562 static const lld::File *&element(IO &io, std::vector<const lld::File *> &seq,
562 static const lld::File *&element(IO &io, std::vector<const lld::File *> &seq,
576 NormArchiveFile(IO &io, const lld::File *file)
582 const lld::File *denormalize(IO &io) { return this; }
607 File *find(StringRef name) override {
616 parseAllMembers(std::vector<std::unique_ptr<File>> &result) override {
624 class NormalizedFile : public lld::File {
633 NormalizedFile(IO &io, const lld::File *file)
645 const lld::File *denormalize(IO &io);
692 static void mapping(IO &io, const lld::File *&file) {
704 static void mappingAtoms(IO &io, const lld::File *&file) {
706 MappingNormalizationHeap<NormalizedFile, const lld::File *>
726 static void mappingArchive(IO &io, const lld::File *&file) {
728 MappingNormalizationHeap<NormArchiveFile, const lld::File *>
759 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
840 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
858 const lld::File &fileFromContext(IO &io) {
865 const lld::File &file() const override { return _file; }
920 const lld::File &_file;
947 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
1011 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
1024 const lld::File &fileFromContext(IO &io) {
1031 const lld::File &file() const override { return _file; }
1035 const lld::File &_file;
1077 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
1093 const lld::File &fileFromContext(IO &io) {
1100 const lld::File &file() const override { return _file; }
1107 const lld::File &_file;
1153 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
1166 const lld::File &fileFromContext(IO &io) {
1173 const lld::File &file() const override { return _file; }
1178 const lld::File &_file;
1191 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
1220 RefNameResolver::RefNameResolver(const lld::File *file, IO &io) : _io(io) {
1247 inline const lld::File *
1284 typedef MappingTraits<const lld::File *>::NormalizedFile NormalizedFile;
1299 llvm::Error writeFile(const lld::File &file, StringRef outPath) override {
1313 const lld::File *fileRef = &file;
1329 bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const override {
1331 MappingTraits<const lld::File *>::mappingAtoms(io, file);
1340 bool handledDocTag(llvm::yaml::IO &io, const lld::File *&file) const override {
1342 MappingTraits<const lld::File *>::mappingArchive(io, file);
1358 ErrorOr<std::unique_ptr<File>>
1368 std::vector<const lld::File *> createdFiles;
1377 const File *file = createdFiles[0];
1379 File *f = const_cast<File *>(file);
tools/lld/unittests/MachOTests/MachONormalizedFileToAtomsTests.cpp 29 llvm::Expected<std::unique_ptr<const lld::File>> atom_f =
69 llvm::Expected<std::unique_ptr<const lld::File>> atom_f =
72 const lld::File &file = **atom_f;
usr/include/c++/7.4.0/bits/unique_ptr.h 68 default_delete(const default_delete<_Up>&) noexcept { }
72 operator()(_Tp* __ptr) const
74 static_assert(!is_void<_Tp>::value,
76 static_assert(sizeof(_Tp)>0,
122 using type = _Up*;
137 using pointer = typename _Ptr<_Tp, _Dp>::type;
161 typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
163 __uniq_ptr_impl<_Tp, _Dp> _M_t;
166 using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
167 using element_type = _Tp;
252 unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
297 __safe_conversion_up<_Up, _Ep>,
301 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1645 { typedef _Tp& type; };
1650 : public __add_lvalue_reference_helper<_Tp>
1983 { typedef _Up type; };