LLVM 17.0.0git
|
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
Public Member Functions | |
SetterImpl & | setExecutorProcessControl (std::unique_ptr< ExecutorProcessControl > EPC) |
Set a ExecutorProcessControl for this instance. | |
SetterImpl & | setExecutionSession (std::unique_ptr< ExecutionSession > ES) |
Set an ExecutionSession for this instance. | |
SetterImpl & | setJITTargetMachineBuilder (JITTargetMachineBuilder JTMB) |
Set the JITTargetMachineBuilder for this instance. | |
std::optional< JITTargetMachineBuilder > & | getJITTargetMachineBuilder () |
Return a reference to the JITTargetMachineBuilder. | |
SetterImpl & | setDataLayout (std::optional< DataLayout > DL) |
Set a DataLayout for this instance. | |
SetterImpl & | setObjectLinkingLayerCreator (LLJITBuilderState::ObjectLinkingLayerCreator CreateObjectLinkingLayer) |
Set an ObjectLinkingLayer creation function. | |
SetterImpl & | setCompileFunctionCreator (LLJITBuilderState::CompileFunctionCreator CreateCompileFunction) |
Set a CompileFunctionCreator. | |
SetterImpl & | setPlatformSetUp (LLJITBuilderState::PlatformSetupFunction SetUpPlatform) |
Set up an PlatformSetupFunction. | |
SetterImpl & | setNumCompileThreads (unsigned NumCompileThreads) |
Set the number of compile threads to use. | |
SetterImpl & | setExecutorProcessControl (ExecutorProcessControl &EPC) |
Set an ExecutorProcessControl object. | |
Expected< std::unique_ptr< JITType > > | create () |
Create an instance of the JIT. | |
Protected Member Functions | |
SetterImpl & | impl () |
|
inline |
Create an instance of the JIT.
Definition at line 376 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl(), and llvm::Error::success().
|
inline |
Return a reference to the JITTargetMachineBuilder.
Definition at line 308 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inlineprotected |
Definition at line 388 of file LLJIT.h.
Referenced by llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::create(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::getJITTargetMachineBuilder(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setCompileFunctionCreator(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setDataLayout(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setExecutionSession(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setExecutorProcessControl(), llvm::orc::LLLazyJITBuilderSetters< JITType, SetterImpl, State >::setIndirectStubsManagerBuilder(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setJITTargetMachineBuilder(), llvm::orc::LLLazyJITBuilderSetters< JITType, SetterImpl, State >::setLazyCallthroughManager(), llvm::orc::LLLazyJITBuilderSetters< JITType, SetterImpl, State >::setLazyCompileFailureAddr(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setNumCompileThreads(), llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setObjectLinkingLayerCreator(), and llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setPlatformSetUp().
|
inline |
Set a CompileFunctionCreator.
If this method is not called, a default creation function wil be used that will construct a basic IR compile function that is compatible with the selected number of threads (SimpleCompiler for '0' compile threads, ConcurrentIRCompiler otherwise).
Definition at line 335 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set a DataLayout for this instance.
If no data layout is specified then the target's default data layout will be used.
Definition at line 314 of file LLJIT.h.
References DL, and llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set an ExecutionSession for this instance.
Definition at line 292 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set an ExecutorProcessControl object.
If the platform uses ObjectLinkingLayer by default and no ObjectLinkingLayerCreator has been set then the ExecutorProcessControl object will be used to supply the memory manager for the ObjectLinkingLayer.
Definition at line 370 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set a ExecutorProcessControl for this instance.
This should not be called if ExecutionSession has already been set.
Definition at line 282 of file LLJIT.h.
References assert(), and llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set the JITTargetMachineBuilder for this instance.
If this method is not called, JITTargetMachineBuilder::detectHost will be used to construct a default target machine builder for the host platform.
Definition at line 301 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set the number of compile threads to use.
If set to zero, compilation will be performed on the execution thread when JITing in-process. If set to any other number N, a thread pool of N threads will be created for compilation.
If this method is not called, behavior will be as if it were called with a zero argument.
Definition at line 359 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set an ObjectLinkingLayer creation function.
If this method is not called, a default creation function will be used that will construct an RTDyldObjectLinkingLayer.
Definition at line 323 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().
|
inline |
Set up an PlatformSetupFunction.
If this method is not called then setUpGenericLLVMIRPlatform will be used to configure the JIT's platform support.
Definition at line 346 of file LLJIT.h.
References llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl().