diff options
author | Anutosh Bhat <andersonbhat491@gmail.com> | 2025-08-26 15:14:11 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-26 15:14:11 +0530 |
commit | 2ab4c2880db645fd9e1e2c34b6400c13a1649e54 (patch) | |
tree | e95c4f1000f303b10257c0fc10508dddf5b4d08a /llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp | |
parent | a12d012c8720c84ab52c2b6c8dae9b6f5cc1e086 (diff) | |
download | llvm-2ab4c2880db645fd9e1e2c34b6400c13a1649e54.zip llvm-2ab4c2880db645fd9e1e2c34b6400c13a1649e54.tar.gz llvm-2ab4c2880db645fd9e1e2c34b6400c13a1649e54.tar.bz2 |
[clang-repl] Delegate CodeGen related operations for PTU to IncrementalParser (#137458)
Read discussion : https://github.com/llvm/llvm-project/pull/136404#discussion_r2059149768
and the following comments for context
Motivation
1) `IncrementalAction` is designed to keep Frontend statealive across
inputs. As per the docstring: “IncrementalAction ensures it keeps its
underlying action's objects alive as long as the IncrementalParser needs
them.”
2) To align responsibilities with that contract, the parser layer (host:
`IncrementalParser`, device: `IncrementalCUDADeviceParser`) should
manage PTU registration and module generation, while the interpreter
orchestrates at a higher level.
What this PR does
1) Moves CodeGen surfaces behind IncrementalAction:
GenModule(), getCodeGen(), and the cached “first CodeGen module” now
live in IncrementalAction.
2) Moves PTU ownership to the parser layer:
Adds IncrementalParser::RegisterPTU(…) (and device counterpart)
3) Add device-side registration in IncrementalCUDADeviceParser.
4) Remove Interpreter::{getCodeGen, GenModule, RegisterPTU}.
Diffstat (limited to 'llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp')
0 files changed, 0 insertions, 0 deletions