|
LLVM 22.0.0git
|
#include "llvm/ADT/BitmaskEnum.h"#include "llvm/ADT/DenseSet.h"#include "llvm/ADT/FunctionExtras.h"#include "llvm/ADT/IntrusiveRefCntPtr.h"#include "llvm/ExecutionEngine/JITLink/JITLinkDylib.h"#include "llvm/ExecutionEngine/JITSymbol.h"#include "llvm/ExecutionEngine/Orc/CoreContainers.h"#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h"#include "llvm/ExecutionEngine/Orc/MaterializationUnit.h"#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"#include "llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h"#include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"#include "llvm/ExecutionEngine/Orc/TaskDispatch.h"#include "llvm/ExecutionEngine/Orc/WaitingOnGraph.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ExtensibleRTTI.h"#include <atomic>#include <deque>#include <future>#include <memory>#include <vector>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::WaitingOnGraph |
| 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< ReExportsMaterializationUnit > | llvm::orc::symbolAliases (SymbolAliasMap Aliases) |
| Create a ReExportsMaterializationUnit with the given aliases. | |
| std::unique_ptr< ReExportsMaterializationUnit > | llvm::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< 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. | |
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. | |