13#ifndef LLVM_CLANG_LIB_INTERPRETER_INCREMENTALEXECUTOR_H
14#define LLVM_CLANG_LIB_INTERPRETER_INCREMENTALEXECUTOR_H
16#include "llvm/ADT/DenseMap.h"
17#include "llvm/ADT/StringRef.h"
18#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h"
19#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
26class JITTargetMachineBuilder;
29class ThreadSafeContext;
35struct PartialTranslationUnit;
39 using CtorDtorIterator = llvm::orc::CtorDtorIterator;
40 std::unique_ptr<llvm::orc::LLJIT> Jit;
41 llvm::orc::ThreadSafeContext &TSCtx;
43 llvm::DenseMap<const PartialTranslationUnit *, llvm::orc::ResourceTrackerSP>
50 llvm::orc::LLJITBuilder &JITBuilder, llvm::Error &Err);
llvm::orc::LLJIT & GetExecutionEngine()
llvm::Error runCtors() const
llvm::Error addModule(PartialTranslationUnit &PTU)
llvm::Expected< llvm::orc::ExecutorAddr > getSymbolAddress(llvm::StringRef Name, SymbolNameKind NameKind) const
static llvm::Expected< std::unique_ptr< llvm::orc::LLJITBuilder > > createDefaultJITBuilder(llvm::orc::JITTargetMachineBuilder JTMB)
llvm::Error removeModule(PartialTranslationUnit &PTU)
The JSON file list parser is used to communicate input to InstallAPI.
Diagnostic wrappers for TextAPI types for error reporting.
The class keeps track of various objects created as part of processing incremental inputs.