LLVM  11.0.0git
Public Member Functions | Protected Member Functions | List of all members
llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State > Class Template Reference

#include "llvm/ExecutionEngine/Orc/LLJIT.h"

Inheritance diagram for llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >:
Inheritance graph
[legend]

Public Member Functions

SetterImpl & setExecutionSession (std::unique_ptr< ExecutionSession > ES)
 Set an ExecutionSession for this instance. More...
 
SetterImpl & setJITTargetMachineBuilder (JITTargetMachineBuilder JTMB)
 Set the JITTargetMachineBuilder for this instance. More...
 
Optional< JITTargetMachineBuilder > & getJITTargetMachineBuilder ()
 Return a reference to the JITTargetMachineBuilder. More...
 
SetterImpl & setDataLayout (Optional< DataLayout > DL)
 Set a DataLayout for this instance. More...
 
SetterImpl & setObjectLinkingLayerCreator (LLJITBuilderState::ObjectLinkingLayerCreator CreateObjectLinkingLayer)
 Set an ObjectLinkingLayer creation function. More...
 
SetterImpl & setCompileFunctionCreator (LLJITBuilderState::CompileFunctionCreator CreateCompileFunction)
 Set a CompileFunctionCreator. More...
 
SetterImpl & setPlatformSetUp (LLJITBuilderState::PlatformSetupFunction SetUpPlatform)
 Set up an PlatformSetupFunction. More...
 
SetterImpl & setNumCompileThreads (unsigned NumCompileThreads)
 Set the number of compile threads to use. More...
 
Expected< std::unique_ptr< JITType > > create ()
 Create an instance of the JIT. More...
 

Protected Member Functions

SetterImpl & impl ()
 

Detailed Description

template<typename JITType, typename SetterImpl, typename State>
class llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >

Definition at line 281 of file LLJIT.h.

Member Function Documentation

◆ create()

template<typename JITType, typename SetterImpl, typename State>
Expected<std::unique_ptr<JITType> > llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::create ( )
inline

Create an instance of the JIT.

Definition at line 358 of file LLJIT.h.

◆ getJITTargetMachineBuilder()

template<typename JITType, typename SetterImpl, typename State>
Optional<JITTargetMachineBuilder>& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::getJITTargetMachineBuilder ( )
inline

Return a reference to the JITTargetMachineBuilder.

Definition at line 301 of file LLJIT.h.

◆ impl()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::impl ( )
inlineprotected

Definition at line 370 of file LLJIT.h.

◆ setCompileFunctionCreator()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setCompileFunctionCreator ( LLJITBuilderState::CompileFunctionCreator  CreateCompileFunction)
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 328 of file LLJIT.h.

◆ setDataLayout()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setDataLayout ( Optional< DataLayout DL)
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 307 of file LLJIT.h.

◆ setExecutionSession()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setExecutionSession ( std::unique_ptr< ExecutionSession ES)
inline

Set an ExecutionSession for this instance.

Definition at line 285 of file LLJIT.h.

◆ setJITTargetMachineBuilder()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setJITTargetMachineBuilder ( JITTargetMachineBuilder  JTMB)
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 294 of file LLJIT.h.

◆ setNumCompileThreads()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setNumCompileThreads ( unsigned  NumCompileThreads)
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 352 of file LLJIT.h.

◆ setObjectLinkingLayerCreator()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setObjectLinkingLayerCreator ( LLJITBuilderState::ObjectLinkingLayerCreator  CreateObjectLinkingLayer)
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 316 of file LLJIT.h.

◆ setPlatformSetUp()

template<typename JITType, typename SetterImpl, typename State>
SetterImpl& llvm::orc::LLJITBuilderSetters< JITType, SetterImpl, State >::setPlatformSetUp ( LLJITBuilderState::PlatformSetupFunction  SetUpPlatform)
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 339 of file LLJIT.h.


The documentation for this class was generated from the following file: