LLVM 22.0.0git
Core.h File Reference

Go to the source code of this file.

Classes

class  llvm::orc::SymbolInstance
 A definition of a Symbol within a JITDylib. More...
class  llvm::orc::ResourceTracker
 API to remove / transfer ownership of JIT resources. More...
class  llvm::orc::ResourceManager
 Listens for ResourceTracker operations. More...
class  llvm::orc::SymbolLookupSet
 A set of symbols to look up, each associated with a SymbolLookupFlags value. More...
struct  llvm::orc::SymbolAliasMapEntry
class  llvm::orc::ResourceTrackerDefunct
class  llvm::orc::FailedToMaterialize
 Used to notify a JITDylib that the given set of symbols failed to materialize. More...
class  llvm::orc::UnsatisfiedSymbolDependencies
 Used to report failure due to unsatisfiable symbol dependencies. 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::MissingSymbolDefinitions
 Errors of this type should be returned if a module fails to include definitions that are claimed by the module's associated MaterializationResponsibility. More...
class  llvm::orc::UnexpectedSymbolDefinitions
 Errors of this type should be returned if a module contains definitions for symbols that are not claimed by the module's associated MaterializationResponsibility. More...
struct  llvm::orc::SymbolDependenceGroup
 A set of symbols and the their dependencies. More...
class  llvm::orc::MaterializationResponsibility
 Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and JDs. More...
class  llvm::orc::ReExportsMaterializationUnit
 A materialization unit for symbol aliases. More...
class  llvm::orc::AsynchronousSymbolQuery
 A symbol query that returns results via a callback when results are ready. More...
class  llvm::orc::LookupState
 Wraps state for a lookup-in-progress. More...
class  llvm::orc::DefinitionGenerator
 Definition generators can be attached to JITDylibs to generate new definitions for otherwise unresolved symbols during lookup. More...
class  llvm::orc::JITDylib
 Represents a JIT'd dynamic library. More...
class  llvm::orc::Platform
 Platforms set up standard symbols and mediate interactions between dynamic initializers (e.g. More...
class  llvm::orc::MaterializationTask
 A materialization task. More...
class  llvm::orc::LookupTask
 Lookups are usually run on the current thread, but in some cases they may be run as tasks, e.g. More...
class  llvm::orc::ExecutionSession
 An ExecutionSession represents a running JIT program. More...
class  llvm::orc::ReexportsGenerator
 ReexportsGenerator can be used with JITDylib::addGenerator to automatically re-export a subset of the source JITDylib's symbols in the target. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::orc

Typedefs

using llvm::orc::ResourceTrackerSP = IntrusiveRefCntPtr<ResourceTracker>
using llvm::orc::JITDylibSP = IntrusiveRefCntPtr<JITDylib>
using llvm::orc::ResourceKey = uintptr_t
using llvm::orc::JITDylibSearchOrder
 A list of (JITDylib*, JITDylibLookupFlags) pairs to be used as a search order during symbol lookup.
using llvm::orc::SymbolAliasMap = DenseMap<SymbolStringPtr, SymbolAliasMapEntry>
 A map of Symbols to (Symbol, Flags) pairs.
using llvm::orc::SymbolsResolvedCallback = unique_function<void(Expected<SymbolMap>)>
 Callback to notify client that symbols have been resolved.
using llvm::orc::RegisterDependenciesFunction
 Callback to register the dependencies for a given query.

Enumerations

enum class  llvm::orc::JITDylibLookupFlags { llvm::orc::MatchExportedSymbolsOnly , llvm::orc::MatchAllSymbols }
 Lookup flags that apply to each dylib in the search order for a lookup. More...
enum class  llvm::orc::SymbolLookupFlags { llvm::orc::RequiredSymbol , llvm::orc::WeaklyReferencedSymbol }
 Lookup flags that apply to each symbol in a lookup. More...
enum class  llvm::orc::LookupKind { llvm::orc::Static , llvm::orc::DLSym }
 Describes the kind of lookup being performed. More...
enum class  llvm::orc::SymbolState : uint8_t {
  llvm::orc::Invalid , llvm::orc::NeverSearched , llvm::orc::Materializing , llvm::orc::Resolved ,
  llvm::orc::Emitted , llvm::orc::Ready = 0x3f
}
 Represents the state that a symbol has reached during materialization. More...

Functions

JITDylibSearchOrder llvm::orc::makeJITDylibSearchOrder (ArrayRef< JITDylib * > JDs, JITDylibLookupFlags Flags=JITDylibLookupFlags::MatchExportedSymbolsOnly)
 Convenience function for creating a search order from an ArrayRef of JITDylib*, all with the same flags.
std::unique_ptr< ReExportsMaterializationUnitllvm::orc::symbolAliases (SymbolAliasMap Aliases)
 Create a ReExportsMaterializationUnit with the given aliases.
std::unique_ptr< ReExportsMaterializationUnitllvm::orc::reexports (JITDylib &SourceJD, SymbolAliasMap Aliases, JITDylibLookupFlags SourceJDLookupFlags=JITDylibLookupFlags::MatchExportedSymbolsOnly)
 Create a materialization unit for re-exporting symbols from another JITDylib with alternative names/flags.
LLVM_ABI Expected< SymbolAliasMapllvm::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.

Variables

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