LLVM  10.0.0svn
Classes | Namespaces | Typedefs | Functions
JITLink.h File Reference
#include "JITLinkMemoryManager.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/Triple.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Memory.h"
#include "llvm/Support/MemoryBuffer.h"
#include <map>
#include <string>
#include <system_error>
Include dependency graph for JITLink.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::jitlink::JITLinkError
 Base class for errors originating in JIT linker, e.g. More...
 
class  llvm::jitlink::Edge
 Edge class. More...
 
class  llvm::jitlink::Atom
 Base Atom class. Used by absolute and undefined atoms. More...
 
class  llvm::jitlink::SectionRange
 Represents a section address range via a pair of DefinedAtom pointers to the first and last atoms in the section. More...
 
class  llvm::jitlink::Section
 Represents an object file section. More...
 
class  llvm::jitlink::DefinedAtom
 Defined atom class. More...
 
class  llvm::jitlink::AtomGraph
 
class  llvm::jitlink::AtomGraph::defined_atom_iterator_impl< SecItrT, AtomItrT, T >
 
struct  llvm::jitlink::PassConfiguration
 An atom graph pass configuration, consisting of a list of pre-prune, post-prune, and post-fixup passes. More...
 
class  llvm::jitlink::JITLinkContext
 Holds context for a single jitLink invocation. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 

Typedefs

using llvm::jitlink::EdgeVector = std::vector< Edge >
 
using llvm::jitlink::AtomGraphPassFunction = std::function< Error(AtomGraph &)>
 A function for mutating AtomGraphs. More...
 
using llvm::jitlink::AtomGraphPassList = std::vector< AtomGraphPassFunction >
 A list of atom graph passes. More...
 
using llvm::jitlink::AsyncLookupResult = DenseMap< StringRef, JITEvaluatedSymbol >
 A map of symbol names to resolved addresses. More...
 
using llvm::jitlink::JITLinkAsyncLookupContinuation = std::function< void(Expected< AsyncLookupResult > LR)>
 A function to call with a resolved symbol map (See AsyncLookupResult) or an error if resolution failed. More...
 
using llvm::jitlink::JITLinkAsyncLookupFunction = std::function< void(const DenseSet< StringRef > &Symbols, JITLinkAsyncLookupContinuation LookupContinuation)>
 An asynchronous symbol lookup. More...
 

Functions

const StringRef llvm::jitlink::getGenericEdgeKindName (Edge::Kind K)
 
raw_ostreamllvm::jitlink::operator<< (raw_ostream &OS, const Atom &A)
 
void llvm::jitlink::printEdge (raw_ostream &OS, const Atom &FixupAtom, const Edge &E, StringRef EdgeKindName)
 
Error llvm::jitlink::markAllAtomsLive (AtomGraph &G)
 Marks all atoms in a graph live. More...
 
void llvm::jitlink::jitLink (std::unique_ptr< JITLinkContext > Ctx)
 Basic JITLink implementation. More...