LLVM  9.0.0svn
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
Core.h File Reference
#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/SymbolStringPool.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include <memory>
#include <vector>
Include dependency graph for Core.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::orc::SymbolAliasMapEntry
 
class  llvm::orc::FailedToMaterialize
 Used to notify a JITDylib that the given set of symbols failed to materialize. More...
 
class  llvm::orc::SymbolsNotFound
 Used to notify clients when symbols can not be found during a lookup. More...
 
class  llvm::orc::SymbolsCouldNotBeRemoved
 Used to notify clients that a set of symbols could not be removed. More...
 
class  llvm::orc::MaterializationResponsibility
 Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and JDs. More...
 
class  llvm::orc::MaterializationUnit
 A MaterializationUnit represents a set of symbol definitions that can be materialized as a group, or individually discarded (when overriding definitions are encountered). More...
 
class  llvm::orc::AbsoluteSymbolsMaterializationUnit
 A MaterializationUnit implementation for pre-existing absolute symbols. More...
 
class  llvm::orc::ReExportsMaterializationUnit
 A materialization unit for symbol aliases. More...
 
class  llvm::orc::ReexportsGenerator
 ReexportsGenerator can be used with JITDylib::setGenerator to automatically re-export a subset of the source JITDylib's symbols in the target. More...
 
class  llvm::orc::AsynchronousSymbolQuery
 A symbol query that returns results via a callback when results are ready. More...
 
class  llvm::orc::JITDylib
 A symbol table that supports asynchoronous symbol queries. More...
 
class  llvm::orc::ExecutionSession
 An ExecutionSession represents a running JIT program. More...
 
class  llvm::orc::MangleAndInterner
 Mangles symbol names then uniques them in the context of an ExecutionSession. More...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::orc
 

Macros

#define DEBUG_TYPE   "orc"
 

Typedefs

using llvm::orc::VModuleKey = uint8_t uint64_t
 VModuleKey provides a unique identifier (allocated and managed by ExecutionSessions) for a module added to the JIT. More...
 
using llvm::orc::SymbolNameSet = DenseSet< SymbolStringPtr >
 A set of symbol names (represented by SymbolStringPtrs for. More...
 
using llvm::orc::SymbolMap = DenseMap< SymbolStringPtr, JITEvaluatedSymbol >
 A map from symbol names (as SymbolStringPtrs) to JITSymbols (address/flags pairs). More...
 
using llvm::orc::SymbolFlagsMap = DenseMap< SymbolStringPtr, JITSymbolFlags >
 A map from symbol names (as SymbolStringPtrs) to JITSymbolFlags. More...
 
using llvm::orc::SymbolDependenceMap = DenseMap< JITDylib *, SymbolNameSet >
 A base class for materialization failures that allows the failing symbols to be obtained for logging. More...
 
using llvm::orc::JITDylibSearchList = std::vector< std::pair< JITDylib *, bool > >
 A list of (JITDylib*, bool) pairs. More...
 
using llvm::orc::SymbolAliasMap = DenseMap< SymbolStringPtr, SymbolAliasMapEntry >
 A map of Symbols to (Symbol, Flags) pairs. More...
 
using llvm::orc::SymbolsResolvedCallback = std::function< void(Expected< SymbolMap >)>
 Callback to notify client that symbols have been resolved. More...
 
using llvm::orc::RegisterDependenciesFunction = std::function< void(const SymbolDependenceMap &)>
 Callback to register the dependencies for a given query. More...
 
using llvm::orc::MaterializationUnitList = std::vector< std::unique_ptr< MaterializationUnit > >
 

Enumerations

enum  llvm::orc::SymbolState : uint8_t {
  llvm::orc::SymbolState::Invalid, llvm::orc::SymbolState::NeverSearched, llvm::orc::SymbolState::Materializing, llvm::orc::SymbolState::Resolved,
  llvm::orc::SymbolState::Ready = 0x3f
}
 Represents the state that a symbol has reached during materialization. More...
 

Functions

raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolStringPtr &Sym)
 Render a SymbolStringPtr. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolNameSet &Symbols)
 Render a SymbolNameSet. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolFlagsMap::value_type &KV)
 Render a SymbolFlagsMap entry. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolMap::value_type &KV)
 Render a SymbolMap entry. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolFlagsMap &SymbolFlags)
 Render a SymbolFlagsMap. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolMap &Symbols)
 Render a SymbolMap. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolDependenceMap::value_type &KV)
 Render a SymbolDependenceMap entry. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const MaterializationUnit &MU)
 Render a MaterializationUnit. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const JITDylibSearchList &JDs)
 Render a JITDylibSearchList. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolAliasMap &Aliases)
 Render a SymbolAliasMap. More...
 
raw_ostreamllvm::orc::operator<< (raw_ostream &OS, const SymbolState &S)
 Render a SymbolState. More...
 
std::unique_ptr< AbsoluteSymbolsMaterializationUnit > llvm::orc::absoluteSymbols (SymbolMap Symbols, VModuleKey K=VModuleKey())
 Create an AbsoluteSymbolsMaterializationUnit with the given symbols. More...
 
std::unique_ptr< ReExportsMaterializationUnit > llvm::orc::symbolAliases (SymbolAliasMap Aliases, VModuleKey K=VModuleKey())
 Create a ReExportsMaterializationUnit with the given aliases. More...
 
std::unique_ptr< ReExportsMaterializationUnit > llvm::orc::reexports (JITDylib &SourceJD, SymbolAliasMap Aliases, bool MatchNonExported=false, VModuleKey K=VModuleKey())
 Create a materialization unit for re-exporting symbols from another JITDylib with alternative names/flags. More...
 
Expected< SymbolAliasMap > llvm::orc::buildSimpleReexportsAliasMap (JITDylib &SourceJD, const SymbolNameSet &Symbols)
 Build a SymbolAliasMap for the common case where you want to re-export symbols from another JITDylib with the same linkage/flags. More...
 

Variables

RegisterDependenciesFunction llvm::orc::NoDependenciesToRegister
 This can be used as the value for a RegisterDependenciesFunction if there are no dependants to register with. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "orc"

Definition at line 25 of file Core.h.