Giacomo Vercesi
27f419c8cd
Fix and ban namespace clobbering
...
Fix an instance where the `std` namespace got clobbered into the global
namespace by accident.
2026-02-16 10:34:38 +01:00
Alessandro Di Federico
5820908675
Remove and ban \file
2025-12-16 17:41:55 +01:00
Ivan Krysak
5717d835f8
Add missing llvm::Error checks
2025-10-13 10:26:37 +03:00
Ivan Krysak
77ea07c364
Minor improvements
2025-10-08 12:22:30 +03:00
Ivan Krysak
dbd8a720b7
Reduce using namespace abuse
2025-09-10 17:44:02 +02:00
Lauri Vasama
893ca56921
Require separate output arguments in revng pipe
...
Each mutable container used by the pipe now requires a separator output
path argument.
2025-06-04 15:13:47 +02:00
Lauri Vasama
4380f374b1
Fix revng pipe output container targets
...
Previously revng pipe did not correctly propagate targets from input
containers into output containers based on the pipe contract. This
happened to work for pipes acting on LLVM containers where the same
container is used for input and output, but failed for the Clift backend
pipe, where an MLIR container is used for input and a string map
container is used for output.
2025-06-04 15:13:47 +02:00
Giacomo Vercesi
79272adc9d
CLI: check that FilePaths are actually files
...
Add checks that return an `llvm::Error` in case a provided path is a
directory in the case a `FilePath` was requested.
2025-05-07 16:42:34 +02:00
Giacomo Vercesi
0f6b6e00bd
Add revng init
...
Add a new `revng` command that allows to initialize a resume directory.
2025-05-07 10:48:49 +02:00
Giacomo Vercesi
e3074ec29a
revng artifact: omit kind
...
When working with `revng artifact`, omit the kind in both the output of
`--list` and the parameters taken specifying which targets to produce.
2025-05-07 10:48:48 +02:00
Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Ivan Krysak
1eb80ecd2d
Introduce an error creation helper
2024-11-06 15:20:37 +02:00
Alessandro Di Federico
bd84bd7f2e
Rework --analyze and --analyses-list
2024-10-31 17:19:51 +01:00
Giacomo Vercesi
993f66d59c
revng cli: drop revng- prefix from libexec
...
Drop using the `revng-` prefix from all executables under
`libexec/revng/`. Now any executable found under there that is
executable and without extension will be considered a `revng`
subcommand, following the usual command-line rules.
2024-10-01 13:38:14 +02:00
Alessandro Di Federico
bc064244d6
s/deserialize/fromString/g
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
c8d4381297
s/Context &Ctx/Context &Context/g
2024-09-27 12:07:17 +02:00
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
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
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
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
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
bc98e0079f
Formatting: change PenaltyReturnTypeOnItsOwnLine
...
The new value is 21.
2023-07-02 13:20:49 +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
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
a06d9fedbd
STLExtras: extend revng::find family
2023-03-15 10:19:01 +01:00
Massimo Fioravanti
9432399254
Introduce ApplyDiffAnalysis
2023-02-06 09:37:23 +01:00
Alessandro Di Federico
bf20a83268
revng-pipeline: reduce dependencies
2023-01-21 18:56:22 +01:00
Alessandro Di Federico
98bea7dcec
Minor changes
2022-11-30 15:06:54 +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
81d25f9805
PipelineC: expose invalidation logic
2022-10-30 09:13:14 +01:00
Massimo Fioravanti
6a869735a9
Pipeline: fix driver for targetless invocation
2022-10-21 11:18:33 +02:00
Massimo Fioravanti
d55aa9b9e6
Pipeline: remove * from targets
...
Now * is just a pipeline frontend shorthand.
2022-10-20 14:20:12 +02:00
Alessandro Di Federico
cf62e6dce7
Minor changes
2022-09-22 17:43:55 +02:00
Davide Depau
286a9fe2d3
revng-analyze: add InitRevng to entrypoint
2022-09-19 08:32:02 +02:00
Davide Depau
42e932ad39
revng-artifact: add InitRevng to entrypoint
2022-09-19 08:31:55 +02:00
Massimo Fioravanti
633f49c1ef
Introduce dedicated namespace for kinds and ranks
2022-08-29 14:44:53 +02:00