History log of /llvm-project/clang/unittests/Interpreter/InterpreterExtensionsTest.cpp (Results 1 – 13 of 13)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...