Alessandro Di Federico
6e0fc63b77
Reschedule AttachDebugInfo after InlineHelpers
2023-04-13 18:11:48 +02:00
Massimo Fioravanti
0373732b69
Add auto-analysis list
...
Introduces a default analysis list indede to be run first on binaries.
2023-03-22 17:31:46 +01:00
Ivan Krysak
3687869795
Model: make AddPrimitiveTypes a pure analysis
2023-03-15 10:19:01 +01:00
Antonio Frighetto
f73b9876fa
FunctionIsolation: execute CollectCFG earlier
...
This change makes sure that CollectCFG is always intertwined
with FunctionIsolation, as it needs to run before the latter
executed. To avoid possible rearrangements on the pipeline
in the future, CollectCFG pass is now registered within FI.
2023-02-06 09:37:23 +01:00
Antonio Frighetto
17f799e3c2
Move ProcessCallGraph pipe within Isolate
...
`CrossRelations` container needs to be available
just as `FunctionIsolation` has executed.
2023-02-06 09:37:23 +01:00
Massimo Fioravanti
9432399254
Introduce ApplyDiffAnalysis
2023-02-06 09:37:23 +01:00
Djordje Todorovic
a48e518467
Introduce AttachDebugInfo pass
2023-02-02 15:26:44 +01:00
Ivan Krysak
bb37d48dad
Yield: introduce YieldCallGraphSlicePipe
2022-09-26 12:09:28 +02:00
Ivan Krysak
ed8279fe08
Pipes: introduce a call graph emitting pipe
2022-09-26 10:33:43 +02:00
Alessandro Di Federico
178b58b9d5
ImportBinary: turn into an analysis
2022-08-26 09:50:42 +02:00
Alessandro Di Federico
38d91a793b
AddPrimitiveTypes: turn into an analysis
2022-08-26 09:50:42 +02:00
Ivan Krysak
7b7c4c25b9
Standardize the pipe names to use CamelCase
2022-08-05 21:46:46 +03:00
Massimo Fioravanti
c97187fd0e
Add cross relations role
2022-08-05 21:45:19 +03:00
Ivan Krysak
191fc99c1c
Add a pipe for call-graph processing
2022-08-05 20:45:16 +02:00
Giacomo Vercesi
3e9058393e
Rework YieldAssemblyHTML to output PTML
2022-07-28 08:47:34 +02:00
Giacomo Vercesi
80afd71721
Add singleTargetFilename to pipelines
...
A step's artifacts now include singleTargetFilename, which gives a
suggested filename to use when a single element is extracted from the
underlying container.
2022-06-29 14:50:58 +02:00
Giacomo Vercesi
a741e39f76
revng-check-conventions: introduce prettier
...
Adds the formatting tool prettier to allow formatting JS, TS, JSON,
YAML and HTML files.
2022-06-28 15:29:09 +02:00
Ivan Krysak
80e9243e06
Add a basic CFG pipeline
2022-06-15 15:52:26 +03:00
Ivan Krysak
f536ba46f0
Separate process-assembly from yield-assembly
2022-06-15 15:52:25 +03:00
Massimo Fioravanti
22bce466b1
revng-pipeline: support handles multiple branches
...
This commit introduces the possibility to have multiple pipeline
branches in a single YAML pipeline file.
2022-06-13 18:34:03 +02:00
Massimo Fioravanti
f0a5ffe3b3
revng-pipeline: globals, extractOne and analyses
2022-05-24 08:58:48 +02:00
Ivan Krysak
282b4e238d
Add yield-assembly pipeline
2022-05-06 18:51:47 +02:00
Giacomo Vercesi
4445a841b2
revng-pipeline: introduce artifacts
...
Add a new key to a Step, named Artifacts. If present, it indicates that
the step has a "default" Kind and Container that can be easily retrieved
without explicitly specifying either when producing an artifact.
2022-04-26 15:59:35 +02:00
Giacomo Vercesi
d81dc49809
revng-check-conventions: license check
2022-04-20 09:55:18 +02:00
Pietro Fezzardi
7f65b1117a
New AddPrimitiveTypesPipe
...
This pipe is executed during the Lift step and populates the model with
all the required primitive types.
2022-04-12 16:40:27 +02:00
Antonio Frighetto
d6a1611c0a
EFA: full ABI analysis or CFG collection only
...
EarlyFunctionAnalysis now can be invoked to schedule a full
ABI analysis over the collected functions via `--detect-abi`
option, or it can limit itself to simply recover the CFG and
serialize it onto the LLVM IR via `--collect-cfg` option.
2022-04-05 15:37:57 +02:00
Antonio Frighetto
cbe1891ec1
Revise isolate-translate.yml opt pipeline
2022-04-05 15:37:57 +02:00
Alessandro Di Federico
581eab5a28
YAML pipeline: s/module/module.ll/
2022-03-28 12:17:05 +02:00
Massimo Fioravanti
c05b5dbb28
Steps now represent the *end* of a step
...
A special "begin" step has been introduced.
2022-03-28 12:17:05 +02:00
Massimo Fioravanti
58768aca42
YAML pipelines: rename pipe "Name" to pass "Type"
2022-03-28 12:17:05 +02:00
Alessandro Di Federico
6832698e5b
Introduce revng llvm pipeline
...
This is a wrapper to `revng-pipeline` designed to make the adoption of
pipelines easier for places where we are now using `revng opt`.
2022-03-17 16:46:02 +01:00
Alessandro Di Federico
00ce580362
Introduce EnforceABI and PromoteCSV pipes
2022-03-17 14:10:50 +01:00
Alessandro Di Federico
997e7f60cb
scripts/renvg: handle revng pipeline
...
Let `scripts/revng` intercept `revng-pipeline` invocations and add, not
only -load, but `-P` (pipelines) too.
2022-03-16 22:10:15 +01:00