clang 24.0.0git
clang::IncrementalExecutorBuilder Class Referenceabstract

Common configuration and interface for incremental executor builders. More...

#include "clang/Interpreter/IncrementalExecutor.h"

Inheritance diagram for clang::IncrementalExecutorBuilder:
[legend]

Classes

struct  Options
 Options passed to the backend when configuring execution. More...

Public Member Functions

virtual ~IncrementalExecutorBuilder ()
virtual llvm::Error configure (IncrementalCompilerBuilder &CB, const Options &Opts)=0
 Apply execution options and configure the compiler for this backend.
virtual bool supportsJIT () const =0
 Probe whether this backend can JIT code for the host.
virtual llvm::Expected< llvm::Triple > getHostJITTriple () const =0
 Return the host triple used by this backend.
llvm::Expected< std::unique_ptr< IncrementalExecutor > > create (llvm::orc::ThreadSafeContext &TSC, const clang::TargetInfo &TI)
 Return the supplied executor, or create one using the selected backend.

Static Public Member Functions

static std::unique_ptr< IncrementalExecutorBuilder > createDefault ()
 Create the default builder for the platform clangInterpreter is built for.

Public Attributes

std::unique_ptr< IncrementalExecutor > IE
 An optional external IncrementalExecutor.
std::vector< std::string > LLVMArgs
 Frontend -mllvm arguments for backends that need to restore LLVM options.

Detailed Description

Common configuration and interface for incremental executor builders.

Definition at line 36 of file IncrementalExecutor.h.

Constructor & Destructor Documentation

◆ ~IncrementalExecutorBuilder()

clang::IncrementalExecutorBuilder::~IncrementalExecutorBuilder ( )
virtualdefault

Member Function Documentation

◆ configure()

virtual llvm::Error clang::IncrementalExecutorBuilder::configure ( IncrementalCompilerBuilder & CB,
const Options & Opts )
pure virtual

Apply execution options and configure the compiler for this backend.

Implemented in clang::OrcIncrementalExecutorBuilder, and clang::WasmIncrementalExecutorBuilder.

◆ create()

llvm::Expected< std::unique_ptr< IncrementalExecutor > > clang::IncrementalExecutorBuilder::create ( llvm::orc::ThreadSafeContext & TSC,
const clang::TargetInfo & TI )

Return the supplied executor, or create one using the selected backend.

Definition at line 20 of file IncrementalExecutorBuilder.cpp.

References IE.

◆ createDefault()

std::unique_ptr< IncrementalExecutorBuilder > clang::IncrementalExecutorBuilder::createDefault ( )
static

Create the default builder for the platform clangInterpreter is built for.

The selected backend provides this definition.

Definition at line 89 of file OrcIncrementalExecutorBuilder.cpp.

Referenced by clang::Interpreter::CreateExecutor().

◆ getHostJITTriple()

virtual llvm::Expected< llvm::Triple > clang::IncrementalExecutorBuilder::getHostJITTriple ( ) const
pure virtual

Return the host triple used by this backend.

Implemented in clang::OrcIncrementalExecutorBuilder, and clang::WasmIncrementalExecutorBuilder.

◆ supportsJIT()

virtual bool clang::IncrementalExecutorBuilder::supportsJIT ( ) const
pure virtual

Probe whether this backend can JIT code for the host.

Implemented in clang::OrcIncrementalExecutorBuilder, and clang::WasmIncrementalExecutorBuilder.

Member Data Documentation

◆ IE

std::unique_ptr<IncrementalExecutor> clang::IncrementalExecutorBuilder::IE

An optional external IncrementalExecutor.

Definition at line 48 of file IncrementalExecutor.h.

Referenced by create().

◆ LLVMArgs

std::vector<std::string> clang::IncrementalExecutorBuilder::LLVMArgs

Frontend -mllvm arguments for backends that need to restore LLVM options.

Definition at line 50 of file IncrementalExecutor.h.


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