Alessandro Di Federico
c92c109424
revng artifact: error out if step has no artifact
2024-08-07 16:07:59 +02:00
Alessandro Di Federico
7b00473859
PDBImporter: rework .pdb search
2024-08-05 17:41:34 +02:00
Alessandro Di Federico
d50e7e9451
revng artifact: anticipate artifact name check
2024-07-25 17:44:03 +02:00
Alessandro Di Federico
966caa4137
revng artifact: fix handling of target arguments
...
This commit adds to `revng artifact` help the part of the command line
accepting a list of targets.
Also, it fixes the parsing of targets.
2024-07-09 08:58:51 +02:00
Ivan Krysak
dfa7478685
Adopt reworked model::Type
2024-06-27 11:05:51 +02:00
Ivan Krysak
b2959e36df
Minor improvements
2024-06-27 11:05:48 +02:00
Alessandro Di Federico
e90dd20b69
Introduce revng analyze --save-invalidations
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
b0d897b87d
Minor changes
2024-06-20 10:24:49 +02:00
Massimo Fioravanti
43349943a7
Stop serializing the model in the IR
2024-06-20 09:57:36 +02:00
Massimo Fioravanti
7ee8c8000d
Introduce revng pipe
2024-06-20 09:57:36 +02:00
Alessandro Di Federico
8479f3d8b8
artifact: reorganize how we run analysis lists
2024-03-01 14:28:12 +01:00
Alessandro Di Federico
85abd9b6fc
revng artifact: introduce --analyze
2024-02-29 18:04:35 +01:00
Alessandro Di Federico
19c0999e65
Drop tools/link-for-translation
2024-02-09 10:04:26 +01:00
Alessandro Di Federico
346b367c19
Drop revng efa-extractcfg
2024-02-09 10:04:25 +01:00
Alessandro Di Federico
e48430798f
{artifact,analyze}: fix output with no arguments
2024-02-09 10:04:22 +01:00
Alessandro Di Federico
4d9de92c77
revng-analyze: handle analysis name != type name
2024-02-09 10:04:17 +01:00
Massimo Fioravanti
c276a439b5
Add pipeline invalidation
...
Replace the stub implementation of invalidation with the proper
implementation. A ReadPathCache is added to each global so that it can
keep tracks of what target are associated to which read paths.
2024-01-02 11:14:56 +01:00
Giacomo Vercesi
da144f1fee
revng trace run: allow providing resume directory
...
Allow the `revng trace run` to provide a resume directory from the
command line to use when creating the first manager.
2023-11-03 18:29:10 +01:00
Giacomo Vercesi
0b2754c824
pipeline: drop Disk from storage methods
...
This commit changes the following method names across the codebase:
* `storeToDisk` -> `store`
* `loadFromDisk` -> `load`
This has been done since the storage is no longer bound to the local
storage.
2023-09-06 15:23:43 +02:00
Giacomo Vercesi
93d3a6238d
revng: introduce S3 support
...
Add the capability for all revng tooling to run with an S3-backed
workdir.
2023-09-06 15:23:43 +02:00
Pietro Fezzardi
4003269e17
revng analyze: fix typo in argument description
...
s/ArtifactToProduce/AnalysisToRun
The misspelling on the argument description made the --help option very
unhelpful in discovering the proper usage of the tool.
2023-08-23 15:54:29 +02:00
Alessandro Di Federico
14525d91f5
Adopt llvm::Task
2023-08-01 10:51:16 +02:00
Massimo Fioravanti
6707a20eea
revng-pipeline CLI: drop list- from analysis lists
2023-07-20 17:08:28 +02:00
Ivan Krysak
7d235f4fd0
Enforce licence header consistency
...
Also do some basic cleanup: capitalize first letters, add `.`
at the end of the sentences, and so on.
2023-07-03 15:23:10 +00:00
Ivan Krysak
9f1d9fd5d0
Use Container::contains() where appropriate
2023-07-02 15:06:11 +00:00
Ivan Krysak
bc98e0079f
Formatting: change PenaltyReturnTypeOnItsOwnLine
...
The new value is 21.
2023-07-02 13:20:49 +02:00
Alessandro Di Federico
4b2e067574
rcc: ban functions we wrap
2023-04-28 14:34:52 +02:00
Alessandro Di Federico
8b3f641a29
Rename LLVMGlobalKindBase to LLVMKind
2023-04-28 14:34:49 +02:00
Alessandro Di Federico
f68185abc9
Push ParseCommandLineOptions into InitRevng
2023-04-28 14:34:35 +02:00
Alessandro Di Federico
0e6344ce44
Minor changes
2023-04-28 13:33:08 +02:00
Massimo Fioravanti
254dc99fcb
TupleTreeGenerator: emit tracking machinery
2023-04-21 17:50:16 +02:00
Giacomo Vercesi
a2b7d0e0bf
PipelineC: add tracing
...
Add support for tracing onto the PipelineC. This is done by:
1. Creating wrapper functions for each PipelineC function with the
script in `scripts/PipelineC_add_tracing.py`. These will call a
special function called `wrap` which will ultimately call a method
with a `_` prepended to the name
2. Conversion of all PipelineC methods in `PipelineC.cpp` to `static`
and their rename with a `_` in front, in order for them to work with
the wrapper function in (1)
3. Generation of 2 additional include files, one for types and one for
functions, to be used by users of tracing files in order to have
introspection.
These steps allow the creation of a trace file with the use of the
`REVNG_C_API_TRACE_PATH` environment variable. The traces can then be
used in conjunction with the `revng trace run` and `revng trace
inspect` commands.
2023-04-20 14:43:13 +02:00
Giacomo Vercesi
2e96e09f63
Drop analyze-all
...
Drop all the uses of analyzeAll and swap its use with the invocation of
the appropriate analysesList
2023-03-22 17:50:02 +01:00
Giacomo Vercesi
a926ca8fcb
revng: make cmd tools analysesList-aware
...
Add the possibility to use analyses lists on tools where the use of
analyses names is allowed
2023-03-22 17:31:46 +01:00
Ivan Krysak
64856306c4
BinaryImporter: rework command line interface
2023-03-15 10:19:03 +01:00
Ivan Krysak
0b0aab2161
ImportDebugInfo: explicitly depend on libABI
2023-03-15 10:19:02 +01:00
Ivan Krysak
a06d9fedbd
STLExtras: extend revng::find family
2023-03-15 10:19:01 +01:00
Massimo Fioravanti
4dc2e92782
Introduce DocumentError
...
`DocumentError`s are the inteded way of propagating errors from the
pipeline to the frontend when a location is required to inform the user
of the error whereabouts.
2023-02-09 13:42:50 +01:00
Massimo Fioravanti
9432399254
Introduce ApplyDiffAnalysis
2023-02-06 09:37:23 +01:00
Antonio Frighetto
ea0a06a876
revng.daemon: accept no arguments for analysis
...
Let GraphQL accept zero or more parameters for analyses.
2023-02-06 09:37:23 +01:00
Alessandro Di Federico
bf20a83268
revng-pipeline: reduce dependencies
2023-01-21 18:56:22 +01:00
Djordje Todorovic
961f9e5461
Model: search debug info locally upon import
...
Also find prototypes in Models of dynamic libs for both PE and ELF.
2022-12-13 11:26:54 +01:00
Djordje Todorovic
cad68a9876
Instroduce LDDTree
2022-12-13 11:26:25 +01:00
Djordje Todorovic
809ea798a6
Introduce revng import debug-info
...
It supports both PDB and DWARF formats.
We get rid of `import dwarf` tool.
2022-12-13 11:25:46 +01:00
Massimo Fioravanti
742e1a0c56
TupleTree: switch from public fields to accessors
2022-12-12 18:36:57 +01:00
Alessandro Di Federico
b83edd61c0
DwarfImport: fix handling of local functions
2022-11-30 15:06:54 +01:00
Alessandro Di Federico
98bea7dcec
Minor changes
2022-11-30 15:06:54 +01:00
Massimo Fioravanti
0bfb73fe95
FunctionMetadata: introduce cache
...
FunctionMetadata was being deserialized every time they were
inspected. This commit introduces a cache structure to prevent this
excessive deserializations.
2022-11-22 14:15:00 +01:00
Massimo Fioravanti
e24fdbd446
revng-artifact: handle binaries with 0 functions
...
When revng-artifact is requested to produce the functions of a binary
that had 0 functions, it crashed. This commit fixes it by checking if
something has been actually being produced.
2022-11-02 10:47:33 +01:00
Giacomo Vercesi
0b80801b2b
TupleTreeDiff: applyDiff uses ErrorList
...
Change how TupleTreeDiff and Visitor work so they can populate an
ErrorList in case the deserialization/apply of a diff fails.
2022-10-30 09:13:44 +01:00