Mercurial > hg > CbC > CbC_llvm
comparison clang/lib/Interpreter/IncrementalExecutor.h @ 221:79ff65ed7e25
LLVM12 Original
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2021 19:15:29 +0900 |
parents | |
children | c4bab56944e8 |
comparison
equal
deleted
inserted
replaced
220:42394fc6a535 | 221:79ff65ed7e25 |
---|---|
1 //===--- IncrementalExecutor.h - Incremental Execution ----------*- C++ -*-===// | |
2 // | |
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
4 // See https://llvm.org/LICENSE.txt for license information. | |
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
6 // | |
7 //===----------------------------------------------------------------------===// | |
8 // | |
9 // This file implements the class which performs incremental code execution. | |
10 // | |
11 //===----------------------------------------------------------------------===// | |
12 | |
13 #ifndef LLVM_CLANG_LIB_INTERPRETER_INCREMENTALEXECUTOR_H | |
14 #define LLVM_CLANG_LIB_INTERPRETER_INCREMENTALEXECUTOR_H | |
15 | |
16 #include "llvm/ADT/StringRef.h" | |
17 #include "llvm/ADT/Triple.h" | |
18 #include "llvm/ExecutionEngine/Orc/ExecutionUtils.h" | |
19 | |
20 #include <memory> | |
21 | |
22 namespace llvm { | |
23 class Error; | |
24 class Module; | |
25 namespace orc { | |
26 class LLJIT; | |
27 class ThreadSafeContext; | |
28 } // namespace orc | |
29 } // namespace llvm | |
30 | |
31 namespace clang { | |
32 class IncrementalExecutor { | |
33 using CtorDtorIterator = llvm::orc::CtorDtorIterator; | |
34 std::unique_ptr<llvm::orc::LLJIT> Jit; | |
35 llvm::orc::ThreadSafeContext &TSCtx; | |
36 | |
37 public: | |
38 IncrementalExecutor(llvm::orc::ThreadSafeContext &TSC, llvm::Error &Err, | |
39 const llvm::Triple &Triple); | |
40 ~IncrementalExecutor(); | |
41 | |
42 llvm::Error addModule(std::unique_ptr<llvm::Module> M); | |
43 llvm::Error runCtors() const; | |
44 }; | |
45 | |
46 } // end namespace clang | |
47 | |
48 #endif // LLVM_CLANG_LIB_INTERPRETER_INCREMENTALEXECUTOR_H |