Lauri Vasama
dd4e452f96
Add data model import pipes
2026-05-04 10:48:16 +03:00
Alessandro Di Federico
2629f95dd1
Introduce ImportPrototypesFromDatabase
...
This commit introduces an analysis to import prototypes from a SQLite
database of well-known prototypes, typically built from debug info of
operating systems.
This analysis supersedes import-well-known-models.
2026-04-24 17:54:09 +02:00
Ivan Krysak
5f511d8e17
verify-against-model: split into two
...
The resulting pipes are:
1. binary-granularity one with the name unchanged
2. function-granularity one called `verify-function-against-model`.
2026-04-22 08:19:30 +00:00
Ivan Krysak
e693cdbd53
model-verify-clift -> verify-against-model
2026-04-22 08:19:30 +00:00
Giacomo Vercesi
b40fec2270
Add LLMRename analysis to pypeline
2026-03-31 17:00:48 +02:00
Ivan Krysak
cdc633e31d
CliftPipes: drop Pipe from filenames
...
This removes unnecessary Pipe from filenames which the directory name
already contains.
This also renames some of them to match the *new* pipeline.
2026-03-27 07:18:49 +00:00
Ivan Krysak
278b898793
llvm-to-clift -> clifter
2026-03-27 07:05:44 +00:00
Ivan Krysak
addfc543c8
import-model-names -> import-descriptive-info
2026-03-26 16:28:48 +00:00
Ivan Krysak
01658cab09
import-model-names: split into two
...
One is module-granularity (name unchanged). The other (new) one
is function-granularity: `import-function-model-names`.
2026-03-26 16:00:49 +00:00
Ivan Krysak
58facb0de2
pipebox: introduce two more clift containers
...
`CliftSingleTypeContainer` for a type-level entity and
`CliftModuleContainer` for a binary-level one (like a header).
2026-03-25 17:26:24 +00:00
Ivan Krysak
b76a09d483
pipebox: rename CliftContainer.h
...
The new name is `CliftContainers.h`.
2026-03-25 17:26:24 +00:00
Giacomo Vercesi
d479438d3c
Add ImportFromC analysis to pypeline
2026-03-04 14:58:02 +01:00
Giacomo Vercesi
8804092b90
Add ConvertFunctionsToRaw analysis to pypeline
2026-03-04 14:58:02 +01:00
Giacomo Vercesi
f7231a29da
Add yield-cfg to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
255748228a
Add yield-call-graph-slice to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
4385f28c17
Add YieldCallGraph to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
9a202822f1
Add ProcessCallGraph to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
a8ed75fdb1
Add CleanupIR to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
d80c0a73f6
Add MergeLLVMModules to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
05dc279ef2
Add emit-c-as-single-file to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
e260d05082
Add EmitC to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
9b527c8b69
Add ImportModelNames to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
cfe476c701
Add ModelVerifyClift to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
75455a339e
Add PureMLIRPassesPipe to pypeline
...
In the same vein as `PureLLVMPassesPipe`, add a pipe to pypeline that
allows running arbitrarily-specified MLIR passes that do not depend on
the model.
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
97fe9203e1
Add LLVMToClift to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
08154335e3
Add SwitchToStatements to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
ee1fdebc4e
Add SegregateStackAccesses to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
16e89416c5
Add CliftFunctionContainer
...
Add a container that owns one `mlir::ModuleOp` per function, to be used
in conjunction with the new clift backend.
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
e35f5750de
Add ConvertFunctionsToCABI analysis to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
9e8e4cdf85
Add AnalyzeDataLayout analysis to pypeline
2025-12-10 16:16:14 +01:00
Giacomo Vercesi
5a6efb0fa2
Add DetectStackSize analysis to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
c1217dcfc3
Add DetectABI analysis to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
405733369b
Add ImportWellKnownModelsAnalysis to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
47038d46ec
Add ParseBinaryAnalysis to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
e4e259df3c
Add MakeSegmentRef to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
3e37058899
Add LegacySegregateStackAccesses to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
3a08f8713b
Add SimplifySwitch to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
c0e8c8fa09
Add PromoteStackPointer to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
10cc709098
Add InjectStackSizeProbesAtCallSites to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
0bc74e0234
Add PromoteInitCSVToUndef to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
e13e5add06
Add RemoveLiftingArtifacts to pypeline
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
db94859401
Registrars: add Run suffix for piperuns
...
Change the `Register.*Pipe` functions to end in `Run` if the template
argument should be a pipe run. Also change the concepts `Is.*Pipe` to
also have the `Run` suffix if applicable.
2025-12-10 15:05:53 +01:00
Giacomo Vercesi
8cff10e13b
Introduce analyses that manipulate the model
...
Add 4 analyses to the pipebox that allow setting and verifying the model
and its diffs.
2025-11-26 16:13:28 +01:00
Giacomo Vercesi
ca3c5113d9
Add recompile-isolated to pypeline
2025-11-18 17:47:54 +01:00
Giacomo Vercesi
159ca6b965
Add LinkForTranslation to pypeline
2025-11-18 17:47:54 +01:00
Giacomo Vercesi
af4b447f89
Add CompileRootModule to pypeline
2025-11-18 17:47:54 +01:00
Giacomo Vercesi
7462c2daeb
Add LinkSupport to pypeline
2025-11-18 17:47:54 +01:00
Giacomo Vercesi
d5aeb306f6
Add YieldAssembly to pypeline
2025-11-18 17:47:54 +01:00
Giacomo Vercesi
a834f874c9
Add ProcessAssembly to pypeline
2025-11-18 17:47:54 +01:00
Giacomo Vercesi
080c5017f1
Add HexDump to pypeline
2025-11-18 17:47:54 +01:00