[all-commits] [llvm/llvm-project] a72d7e: [clang-repl] Simplify the value printing logic to ...
Vassil Vassilev via All-commits
all-commits at lists.llvm.org
Mon Sep 23 03:01:04 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a72d7eea5413444249670579fecea6823fb3c564
https://github.com/llvm/llvm-project/commit/a72d7eea5413444249670579fecea6823fb3c564
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-09-23 (Mon, 23 Sep 2024)
Changed paths:
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/DeviceOffload.h
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
M clang/lib/Interpreter/Interpreter.cpp
A clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/unittests/Interpreter/CodeCompletionTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[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
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list