reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/ExecutionEngine/JITLink/JITLink.h
   37 class Symbol;

References

include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ExecutionEngine/JITLink/JITLink.h
   71   Edge(Kind K, OffsetT Offset, Symbol &Target, AddendT Addend)
   83   Symbol &getTarget() const { return *Target; }
   84   void setTarget(Symbol &Target) { this->Target = &Target; }
   89   Symbol *Target = nullptr;
  215   void addEdge(Edge::Kind K, Edge::OffsetT Offset, Symbol &Target,
  296   static Symbol &constructCommon(void *SymStorage, Block &Base, StringRef Name,
  304     auto *Sym = reinterpret_cast<Symbol *>(SymStorage);
  305     new (Sym) Symbol(Base, 0, Name, Size, Linkage::Weak, S, IsLive, false);
  309   static Symbol &constructExternal(void *SymStorage, Addressable &Base,
  315     auto *Sym = reinterpret_cast<Symbol *>(SymStorage);
  316     new (Sym) Symbol(Base, 0, Name, Size, Linkage::Strong, Scope::Default,
  321   static Symbol &constructAbsolute(void *SymStorage, Addressable &Base,
  327     auto *Sym = reinterpret_cast<Symbol *>(SymStorage);
  328     new (Sym) Symbol(Base, 0, Name, Size, L, S, IsLive, false);
  332   static Symbol &constructAnonDef(void *SymStorage, Block &Base,
  337     auto *Sym = reinterpret_cast<Symbol *>(SymStorage);
  338     new (Sym) Symbol(Base, Offset, StringRef(), Size, Linkage::Strong,
  343   static Symbol &constructNamedDef(void *SymStorage, Block &Base,
  349     auto *Sym = reinterpret_cast<Symbol *>(SymStorage);
  350     new (Sym) Symbol(Base, Offset, Name, Size, L, S, IsLive, IsCallable);
  361   Symbol(const Symbol &) = delete;
  362   Symbol &operator=(const Symbol &) = delete;
  362   Symbol &operator=(const Symbol &) = delete;
  363   Symbol(Symbol &&) = delete;
  364   Symbol &operator=(Symbol &&) = delete;
  364   Symbol &operator=(Symbol &&) = delete;
  500 raw_ostream &operator<<(raw_ostream &OS, const Symbol &A);
  514   using SymbolSet = DenseSet<Symbol *>;
  555   void addSymbol(Symbol &Sym) {
  560   void removeSymbol(Symbol &Sym) {
  581     for (auto *Sym : Sec.symbols()) {
  588   Symbol *getFirstSymbol() const {
  592   Symbol *getLastSymbol() const {
  610   Symbol *First = nullptr;
  611   Symbol *Last = nullptr;
  617   using ExternalSymbolSet = DenseSet<Symbol *>;
  646   void destroySymbol(Symbol &S) {
  702                                    Section::symbol_iterator, Symbol *>;
  705       const_section_iterator, Section::const_symbol_iterator, const Symbol *>;
  749   Symbol &addExternalSymbol(StringRef Name, uint64_t Size) {
  750     auto &Sym = Symbol::constructExternal(
  750     auto &Sym = Symbol::constructExternal(
  751         Allocator.Allocate<Symbol>(), createAddressable(0, false), Name, Size);
  757   Symbol &addAbsoluteSymbol(StringRef Name, JITTargetAddress Address,
  759     auto &Sym = Symbol::constructAbsolute(Allocator.Allocate<Symbol>(),
  759     auto &Sym = Symbol::constructAbsolute(Allocator.Allocate<Symbol>(),
  759     auto &Sym = Symbol::constructAbsolute(Allocator.Allocate<Symbol>(),
  767   Symbol &addCommonSymbol(StringRef Name, Scope S, Section &Section,
  770     auto &Sym = Symbol::constructCommon(
  770     auto &Sym = Symbol::constructCommon(
  771         Allocator.Allocate<Symbol>(),
  780   Symbol &addAnonymousSymbol(Block &Content, JITTargetAddress Offset,
  783     auto &Sym = Symbol::constructAnonDef(Allocator.Allocate<Symbol>(), Content,
  783     auto &Sym = Symbol::constructAnonDef(Allocator.Allocate<Symbol>(), Content,
  783     auto &Sym = Symbol::constructAnonDef(Allocator.Allocate<Symbol>(), Content,
  790   Symbol &addDefinedSymbol(Block &Content, JITTargetAddress Offset,
  793     auto &Sym =
  794         Symbol::constructNamedDef(Allocator.Allocate<Symbol>(), Content, Offset,
  794         Symbol::constructNamedDef(Allocator.Allocate<Symbol>(), Content, Offset,
  838   void makeExternal(Symbol &Sym) {
  853   void removeExternalSymbol(Symbol &Sym) {
  864   void removeAbsoluteSymbol(Symbol &Sym) {
  876   void removeDefinedSymbol(Symbol &Sym) {
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)));
   88       !std::is_same<typename std::remove_cv<T>::type, void>::value, void>::type
   89   Deallocate(T *Ptr, size_t Num = 1) {
   90     Deallocate(static_cast<const void *>(Ptr), Num * sizeof(T));
include/llvm/Support/Error.h
  474   Expected(OtherT &&Val,
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) {
lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h
   39   Symbol &getGOTEntrySymbol(Symbol &Target) {
   39   Symbol &getGOTEntrySymbol(Symbol &Target) {
   46       auto &GOTEntry = impl().createGOTEntry(Target);
   55   Symbol &getStubSymbol(Symbol &Target) {
   55   Symbol &getStubSymbol(Symbol &Target) {
   61       auto &StubSymbol = impl().createStub(Target);
   74   DenseMap<StringRef, Symbol *> GOTEntries;
   75   DenseMap<StringRef, Symbol *> Stubs;
lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
  161   auto &CIESymbol =
  306   auto *TargetSymbol = getSymbolAtAddress(PCBegin);
  325   Symbol *LSDASymbol = nullptr;
lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
   41   virtual Symbol *getSymbolAtAddress(JITTargetAddress Addr) = 0;
   42   virtual Symbol &createCIERecord(JITTargetAddress RecordAddr,
   44   virtual Expected<Symbol &>
   46                   Symbol &CIE, size_t CIEOffset, Symbol &Func,
   46                   Symbol &CIE, size_t CIEOffset, Symbol &Func,
   47                   size_t FuncOffset, Symbol *LSDA, size_t LSDAOffset) = 0;
   63     CIEInformation(Symbol &CIESymbol) : CIESymbol(&CIESymbol) {}
   64     Symbol *CIESymbol = nullptr;
lib/ExecutionEngine/JITLink/JITLink.cpp
  101 raw_ostream &operator<<(raw_ostream &OS, const Symbol &Sym) {
  146   for (auto *Sym : Symbols)
  162   for (auto *Sym : defined_symbols()) {
  184   for (auto *Sym : absolute_symbols())
  189   for (auto *Sym : external_symbols())
  212   for (auto *Sym : G.defined_symbols())
lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
  260   for (auto *Sym : G->external_symbols()) {
  271   for (auto *Sym : G->external_symbols()) {
  301   std::vector<Symbol *> Worklist;
  305   for (auto *Sym : G.defined_symbols())
  311     auto *Sym = Worklist.back();
  333     std::vector<Symbol *> SymbolsToRemove;
  334     for (auto *Sym : G.defined_symbols())
  337     for (auto *Sym : SymbolsToRemove) {
lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
  290   auto &Sym = G->addAnonymousSymbol(B, 0, Size, false, IsLive);
  498         auto &Sym =
lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
   49     Symbol *getSymbolAtAddress(JITTargetAddress Address) override {
   50       if (auto *Sym = Builder.getSymbolByAddress(Address))
   56     Symbol &createCIERecord(JITTargetAddress RecordAddr,
   61       auto &CIESymbol =
   67     Expected<Symbol &> createFDERecord(JITTargetAddress RecordAddr,
   68                                        StringRef RecordContent, Symbol &CIE,
   69                                        size_t CIEOffset, Symbol &Func,
   70                                        size_t FuncOffset, Symbol *LSDA,
   83       auto &FDESymbol =
  126     Symbol *GraphSymbol = nullptr;
  200   Symbol *getSymbolByAddress(JITTargetAddress Address) {
  209   Expected<Symbol &> findSymbolByAddress(JITTargetAddress Address) {
  210     auto *Sym = getSymbolByAddress(Address);
  226   void setCanonicalSymbol(Symbol &Sym) {
  227     auto *&CanonicalSymEntry = AddrToCanonicalSymbol[Sym.getAddress()];
  262   std::map<JITTargetAddress, Symbol *> AddrToCanonicalSymbol;
lib/ExecutionEngine/JITLink/MachO_arm64.cpp
  117       std::tuple<MachOARM64RelocationKind, Symbol *, uint64_t>;
  149     Symbol *FromSymbol;
  164     Symbol *ToSymbol = nullptr;
  180     Symbol *TargetSymbol;
  247         Symbol *TargetSymbol = nullptr;
  406   Symbol &createGOTEntry(Symbol &Target) {
  406   Symbol &createGOTEntry(Symbol &Target) {
  413   void fixGOTEdge(Edge &E, Symbol &GOTEntry) {
  428   Symbol &createStub(Symbol &Target) {
  428   Symbol &createStub(Symbol &Target) {
  432     auto &GOTEntrySymbol = getGOTEntrySymbol(Target);
  437   void fixExternalBranchEdge(Edge &E, Symbol &Stub) {
lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
  119   using PairRelocInfo = std::tuple<MachOX86RelocationKind, Symbol *, uint64_t>;
  151     Symbol *FromSymbol;
  166     Symbol *ToSymbol = nullptr;
  182     Symbol *TargetSymbol;
  255         Symbol *TargetSymbol = nullptr;
  372   Symbol &createGOTEntry(Symbol &Target) {
  372   Symbol &createGOTEntry(Symbol &Target) {
  379   void fixGOTEdge(Edge &E, Symbol &GOTEntry) {
  391   Symbol &createStub(Symbol &Target) {
  391   Symbol &createStub(Symbol &Target) {
  395     auto &GOTEntrySymbol = getGOTEntrySymbol(Target);
  400   void fixExternalBranchEdge(Edge &E, Symbol &Stub) {
lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
   90     for (auto *Sym : G.defined_symbols())
  109     for (auto *Sym : G.absolute_symbols())
  169   using AnonToNamedDependenciesMap = DenseMap<const Symbol *, SymbolNameSet>;
  173     for (auto *Sym : G.defined_symbols())
  179     for (auto *Sym : G.absolute_symbols())
  190     for (auto *Sym : G.defined_symbols())
  200     for (auto *Sym : G.defined_symbols()) {
  211         auto &TargetSym = E.getTarget();
  239       WorklistEntry(Symbol *Sym, DenseSet<Symbol *> SymAnonDeps)
  239       WorklistEntry(Symbol *Sym, DenseSet<Symbol *> SymAnonDeps)
  242       Symbol *Sym = nullptr;
  243       DenseSet<Symbol *> SymAnonDeps;
  246     for (auto *Sym : G.defined_symbols())
  249         DenseSet<Symbol *> SymAnonDeps;
  252           auto &TargetSym = E.getTarget();
  273         auto *Sym = WLEntry.Sym;
  277         for (auto *TargetSym : SymAnonDeps) {
tools/llvm-jitlink/llvm-jitlink-macho.cpp
   40 static Expected<Symbol &> getMachOGOTTarget(LinkGraph &G, Block &B) {
   44   auto &TargetSym = E->getTarget();
   61 static Expected<Symbol &> getMachOStubTarget(LinkGraph &G, Block &B) {
   65   auto &GOTSym = E->getTarget();
  113     auto *FirstSym = *Sec.symbols().begin();
  114     auto *LastSym = FirstSym;
  115     for (auto *Sym : Sec.symbols()) {
tools/llvm-jitlink/llvm-jitlink.cpp
  192     std::vector<Symbol *> Syms(S->symbols().begin(), S->symbols().end());
  198     for (auto *Sym : Syms) {
unittests/ExecutionEngine/JITLink/JITLinkTestCommon.h
  155     for (auto *Sym : G.defined_symbols()) {
  171   static jitlink::Symbol &symbol(jitlink::LinkGraph &G, StringRef Name) {
  172     for (auto *Sym : G.defined_symbols())
  175     for (auto *Sym : G.external_symbols())
  178     for (auto *Sym : G.absolute_symbols())
unittests/ExecutionEngine/JITLink/MachO_x86_64_Tests.cpp
   51   static void verifyIsPointerTo(LinkGraph &G, Block &B, Symbol &Target) {
   64   static void verifyGOTLoad(LinkGraph &G, Edge &E, Symbol &Target) {
   75                          Block &CallerBlock, Edge &E, Symbol &Callee) {
   90                                  Block &CallerBlock, Edge &E, Symbol &Callee) {
  107                                 Block &CallerBlock, Edge &E, Symbol &Callee) {
  165         auto &Baz = symbol(G, "_baz");
  166         auto &Y = symbol(G, "_y");
  167         auto &Bar = symbol(G, "_bar");
  168         auto &Foo = symbol(G, "_foo");
  169         auto &Foo_1 = symbol(G, "_foo.1");
  170         auto &Foo_2 = symbol(G, "_foo.2");
  171         auto &X = symbol(G, "_x");
  172         auto &P = symbol(G, "_p");
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/bits/refwrap.h
   63     : _Maybe_get_result_type<_Functor>
  176     : _Weak_result_type_impl<typename remove_cv<_Functor>::type>
  215     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
  215     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
  215     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
  327     : public _Reference_wrapper_base<typename remove_cv<_Tp>::type>
  329       _Tp* _M_data;
  332       typedef _Tp type;
  334       reference_wrapper(_Tp& __indata) noexcept
  338       reference_wrapper(_Tp&&) = delete;
  345       operator _Tp&() const noexcept
  348       _Tp&
  353 	typename result_of<_Tp&(_Args&&...)>::type
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_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
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1983     { typedef _Up     type; };
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {