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

Methods

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()

Description

Return a reference to the JITTargetMachineBuilder.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:308

SetterImpl& impl()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h:388

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)

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)

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)

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)

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

llvm::orc::ExecutorProcessControl& EPC

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

llvm::orc::JITTargetMachineBuilder JTMB

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)

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)

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