Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1 |
|
#
a72d7eea |
| 23-Sep-2024 |
Vassil Vassilev <v.g.vassilev@gmail.com> |
[clang-repl] Simplify the value printing logic to enable out-of-process. (#107737)
This patch improves the design of the IncrementalParser and Interpreter
classes. Now the incremental parser is onl
[clang-repl] Simplify the value printing logic to enable out-of-process. (#107737)
This patch improves the design of the IncrementalParser and Interpreter
classes. Now the incremental parser is only responsible for building the
partial translation unit declaration and the AST, while the Interpreter
fills in the lower level llvm::Module and other JIT-related
infrastructure. Finally the Interpreter class now orchestrates the AST
and the LLVM IR with the IncrementalParser and IncrementalExecutor
classes.
The design improvement allows us to rework some of the logic that
extracts an interpreter value into the clang::Value object. The new
implementation simplifies use-cases which are used for out-of-process
execution by allowing interpreter to be inherited or customized with an
clang::ASTConsumer.
This change will enable completing the pretty printing work which is in
llvm/llvm-project#84769
show more ...
|
Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7 |
|
#
647d2728 |
| 30-May-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Fix SetUp in CodeCompletionTest fixture (#93816)
And sort out some unused headers
|
#
a871470a |
| 30-May-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Introduce common fixture class in unittests (NFC) (#93816)
Reduce code bloat by checking test requirements in a common test fixture
|
#
98f9bb38 |
| 28-May-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Check host JIT support in all tests that create an Interpreter (#84758)
|
#
cb7995a1 |
| 28-May-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Set up executor implicitly to account for init PTUs (#84758)
Until now the IncrExecutor was created lazily on the first execution
request. In order to process the PTUs that come from
[clang-repl] Set up executor implicitly to account for init PTUs (#84758)
Until now the IncrExecutor was created lazily on the first execution
request. In order to process the PTUs that come from initialization, we
have to do it upfront implicitly.
show more ...
|
Revision tags: llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4 |
|
#
8c6e0459 |
| 08-Apr-2024 |
bahareh-farhadi <53280095+bahareh-farhadi@users.noreply.github.com> |
[zOS] Turn CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT on for zOS (#87797)
PR
[https://github.com/llvm/llvm-project/pull/84461](https://github.com/llvm/llvm-project/pull/84461)
disabled `clang/
[zOS] Turn CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT on for zOS (#87797)
PR
[https://github.com/llvm/llvm-project/pull/84461](https://github.com/llvm/llvm-project/pull/84461)
disabled `clang/unittests/Interpreter/InterpreterExtensionsTest.cpp` for
AIX by turning on `CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT`.
This PR turns `CLANG_INTERPRETER_PLATFORM_CANNOT_CREATE_LLJIT` on for
zOS as well, since LLJIT cannot be created on zOS either.
Co-authored-by: Bahareh <bahareh.farhadi@ibm.com>
show more ...
|
Revision tags: llvmorg-18.1.3 |
|
#
13078cbc |
| 25-Mar-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Skip cross-JIT tests if specified target is not available (#84461)
|
#
0cf4788d |
| 25-Mar-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Factor out CreateJITBuilder() and allow specialization in derived classes (#84461)
The LLJITBuilder interface provides a very convenient way to configure
the ORCv2 JIT engine. Incremen
[clang-repl] Factor out CreateJITBuilder() and allow specialization in derived classes (#84461)
The LLJITBuilder interface provides a very convenient way to configure
the ORCv2 JIT engine. IncrementalExecutor already used it internally to
construct the JIT, but didn't provide external access. This patch lifts
control of the creation process to the Interpreter and allows injection
of a custom instance through the extended interface. The Interpreter's
default behavior remains unchanged and the IncrementalExecutor remains
an implementation detail.
show more ...
|
Revision tags: llvmorg-18.1.2 |
|
#
424e0a82 |
| 13-Mar-2024 |
Jake Egan <Jake.egan@ibm.com> |
[ClangRepl] Add missing hashtag
Hashtag missing from commit 960b4aa6dab69125778f230c4c94f2d19c96cc87
|
#
960b4aa6 |
| 13-Mar-2024 |
Jake Egan <Jake.egan@ibm.com> |
[AIX][ClangRepl] Disable new test on AIX
This new test fails on the AIX bot with error `LLVM ERROR: Incompatible object format!`. Disable for now to investigate.
Same as 86337beca2e6f939127cd3e08
[AIX][ClangRepl] Disable new test on AIX
This new test fails on the AIX bot with error `LLVM ERROR: Incompatible object format!`. Disable for now to investigate.
Same as 86337beca2e6f939127cd3e088ec80c0cf4a0a64.
show more ...
|
#
d73c2d5d |
| 12-Mar-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
Fix unittest after #84460: only applicable if the platform supports JIT
|
#
bde7a6b7 |
| 12-Mar-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Expose CreateExecutor() and ResetExecutor() in extended Interpreter interface (#84460)
IncrementalExecutor is an implementation detail of the Interpreter. In
order to test extended fea
[clang-repl] Expose CreateExecutor() and ResetExecutor() in extended Interpreter interface (#84460)
IncrementalExecutor is an implementation detail of the Interpreter. In
order to test extended features properly, we must be able to setup and
tear down the executor manually.
show more ...
|
#
ec2875ce |
| 11-Mar-2024 |
Stefan Gränitz <stefan.graenitz@gmail.com> |
[clang-repl] Expose RuntimeInterfaceBuilder to allow customization (#83126)
RuntimeInterfaceBuilder wires up JITed expressions with the hardcoded
Interpreter runtime. It's used only for value print
[clang-repl] Expose RuntimeInterfaceBuilder to allow customization (#83126)
RuntimeInterfaceBuilder wires up JITed expressions with the hardcoded
Interpreter runtime. It's used only for value printing right now, but it
is not limited to that. The default implementation focuses on an
evaluation process where the Interpreter has direct access to the memory
of JITed expressions (in-process execution or shared memory).
We need a different approach to support out-of-process evaluation or
variations of the runtime. It seems reasonable to expose a minimal
interface for it. The new RuntimeInterfaceBuilder is an abstract base
class in the public header. For that, the TypeVisitor had to become a
component (instead of inheriting from it). FindRuntimeInterface() was
adjusted to return an instance of the RuntimeInterfaceBuilder and it can
be overridden from derived classes.
show more ...
|