13#ifndef LLVM_CLANG_INTERPRETER_ORCINCREMENTALEXECUTORBUILDER_H
14#define LLVM_CLANG_INTERPRETER_ORCINCREMENTALEXECUTORBUILDER_H
17#include "llvm/Support/CodeGen.h"
51 std::optional<llvm::CodeModel::Model>
CM = std::nullopt;
58 return UpdateOrcRuntimePath(
C);
71 createExecutor(llvm::orc::ThreadSafeContext &TSC,
Create a pre-configured CompilerInstance for incremental processing.
Common configuration and interface for incremental executor builders.
std::optional< llvm::CodeModel::Model > CM
An optional code model to provide to the JITTargetMachineBuilder.
unsigned SlabAllocateSize
Representing the slab allocation size for memory management in kb.
llvm::Error configure(IncrementalCompilerBuilder &CB, const Options &Opts) override
Apply execution options and configure the compiler for this backend.
bool UseSharedMemory
Indicates whether to use shared memory for communication.
std::function< llvm::Error(const driver::Compilation &)> UpdateOrcRuntimePathCB
A default callback that can be used in the IncrementalCompilerBuilder to retrieve the path to the orc...
bool supportsJIT() const override
Probe whether this backend can JIT code for the host.
std::string OOPExecutorConnect
std::unique_ptr< llvm::orc::LLJITBuilder > JITBuilder
An optional external ORC JIT builder.
std::function< void()> CustomizeFork
Custom lambda to be executed inside child process/executor.
std::string OrcRuntimePath
Path to the ORC runtime library.
OrcIncrementalExecutorBuilder()
llvm::Expected< llvm::Triple > getHostJITTriple() const override
Return the host triple used by this backend.
~OrcIncrementalExecutorBuilder() override
std::string OOPExecutor
Path to the out-of-process JIT executor.
uint32_t ExecutorPID
PID of the out-of-process JIT executor.
bool IsOutOfProcess
Indicates whether out-of-process JIT execution is enabled.
Exposes information about the current target.
Compilation - A set of tasks to perform for a single driver invocation.
Top level wrappers for InstallAPI frontend operations.
int const char * function
Options passed to the backend when configuring execution.