class LLJITBuilderSetters
Declaration
template <typename JITType, typename SetterImpl, typename State>
class LLJITBuilderSetters { /* full declaration omitted */ };
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:277
Templates
- JITType
- SetterImpl
- State
Method Overview
- public Expected<std::unique_ptr<JITType>> create()
- public Optional<llvm::orc::JITTargetMachineBuilder> & getJITTargetMachineBuilder()
- protected SetterImpl & impl()
- public SetterImpl & setCompileFunctionCreator(LLJITBuilderState::CompileFunctionCreator CreateCompileFunction)
- public SetterImpl & setDataLayout(Optional<llvm::DataLayout> DL)
- public SetterImpl & setExecutionSession(std::unique_ptr<ExecutionSession> ES)
- public SetterImpl & setExecutorProcessControl(std::unique_ptr<ExecutorProcessControl> EPC)
- public SetterImpl & setExecutorProcessControl(llvm::orc::ExecutorProcessControl & EPC)
- public SetterImpl & setJITTargetMachineBuilder(llvm::orc::JITTargetMachineBuilder JTMB)
- public SetterImpl & setNumCompileThreads(unsigned int NumCompileThreads)
- public SetterImpl & setObjectLinkingLayerCreator(LLJITBuilderState::ObjectLinkingLayerCreator CreateObjectLinkingLayer)
- public SetterImpl & setPlatformSetUp(LLJITBuilderState::PlatformSetupFunction SetUpPlatform)
Methods
¶Expected<std::unique_ptr<JITType>> create()
Expected<std::unique_ptr<JITType>> create()
Description
Create an instance of the JIT.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:376
¶Optional<llvm::orc::JITTargetMachineBuilder>&
getJITTargetMachineBuilder()
Optional<llvm::orc::JITTargetMachineBuilder>&
getJITTargetMachineBuilder()
Description
Return a reference to the JITTargetMachineBuilder.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:308
¶SetterImpl& impl()
SetterImpl& impl()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:388
¶SetterImpl& setCompileFunctionCreator(
LLJITBuilderState::CompileFunctionCreator
CreateCompileFunction)
SetterImpl& setCompileFunctionCreator(
LLJITBuilderState::CompileFunctionCreator
CreateCompileFunction)
Description
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).
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:335
Parameters
- LLJITBuilderState::CompileFunctionCreator CreateCompileFunction
¶SetterImpl& setDataLayout(
Optional<llvm::DataLayout> DL)
SetterImpl& setDataLayout(
Optional<llvm::DataLayout> DL)
Description
Set a DataLayout for this instance. If no data layout is specified then the target's default data layout will be used.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:314
Parameters
- Optional<llvm::DataLayout> DL
¶SetterImpl& setExecutionSession(
std::unique_ptr<ExecutionSession> ES)
SetterImpl& setExecutionSession(
std::unique_ptr<ExecutionSession> ES)
Description
Set an ExecutionSession for this instance.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:292
Parameters
- std::unique_ptr<ExecutionSession> ES
¶SetterImpl& setExecutorProcessControl(
std::unique_ptr<ExecutorProcessControl> EPC)
SetterImpl& setExecutorProcessControl(
std::unique_ptr<ExecutorProcessControl> EPC)
Description
Set a ExecutorProcessControl for this instance. This should not be called if ExecutionSession has already been set.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:282
Parameters
- std::unique_ptr<ExecutorProcessControl> EPC
¶SetterImpl& setExecutorProcessControl(
llvm::orc::ExecutorProcessControl& EPC)
SetterImpl& setExecutorProcessControl(
llvm::orc::ExecutorProcessControl& EPC)
Description
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.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:370
Parameters
¶SetterImpl& setJITTargetMachineBuilder(
llvm::orc::JITTargetMachineBuilder JTMB)
SetterImpl& setJITTargetMachineBuilder(
llvm::orc::JITTargetMachineBuilder JTMB)
Description
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.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:301
Parameters
¶SetterImpl& setNumCompileThreads(
unsigned int NumCompileThreads)
SetterImpl& setNumCompileThreads(
unsigned int NumCompileThreads)
Description
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.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:359
Parameters
- unsigned int NumCompileThreads
¶SetterImpl& setObjectLinkingLayerCreator(
LLJITBuilderState::ObjectLinkingLayerCreator
CreateObjectLinkingLayer)
SetterImpl& setObjectLinkingLayerCreator(
LLJITBuilderState::ObjectLinkingLayerCreator
CreateObjectLinkingLayer)
Description
Set an ObjectLinkingLayer creation function. If this method is not called, a default creation function will be used that will construct an RTDyldObjectLinkingLayer.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:323
Parameters
- LLJITBuilderState::ObjectLinkingLayerCreator CreateObjectLinkingLayer
¶SetterImpl& setPlatformSetUp(
LLJITBuilderState::PlatformSetupFunction
SetUpPlatform)
SetterImpl& setPlatformSetUp(
LLJITBuilderState::PlatformSetupFunction
SetUpPlatform)
Description
Set up an PlatformSetupFunction. If this method is not called then setUpGenericLLVMIRPlatform will be used to configure the JIT's platform support.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:346
Parameters
- LLJITBuilderState::PlatformSetupFunction SetUpPlatform