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
ee724aae83
Make pipe names dynamic
...
This enables us to have the list of passes in the `generic-llvm-pipe`
name, which would be otherwise carrying poor information.
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
32e6f3e303
Fix handling of -path version of analysis flags
...
Before this commit, the `*-path` flags required the non-`-path` flag
too.
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
553d869d03
Drop Pipe::print method
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
c3751a8c5a
Introduce Pipe::invalidate
...
This method enables pipes to specify a custom invalidation logic. This
change enables us to supress automatic model tracking in certain parts
and then handle the consequences by hand.
Make sure you read the TODO before using this.
2024-06-20 10:24:50 +02: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
37adeb7eeb
Pipeline options: introduce -path options
...
In the case of string options, the pipeline will also create a `-path`
option, which makes the option contents from reading the specified file.
2023-11-03 12:13:58 +01:00
Giacomo Vercesi
acd498bf25
Pipeline options: restrict to int and strings
...
Restrict the type of pipeline options to integers and strings. Rework
the CLOpt mechanism to avoid parsing the string twice.
2023-11-03 12:13:57 +01:00
Giacomo Vercesi
6b6bfd2693
pipeline::Option: fix TypeName
...
Fix the `getTypeName` function needed to report the type of an Analysis'
option.
2023-09-14 15:44:32 +02:00
Ivan Krysak
a123ec2c35
Remove clang-format off around concepts
...
Now that clang-format no longer breaks anything involving a concept or
a requires clause on sight, these are no longer necessary
2023-07-02 13:20:49 +02:00
Alessandro Di Federico
52521f8cac
Adopt more standard library's features
2023-04-08 08:42:23 +02:00
Alessandro Di Federico
b2f22c168f
Adopt clang-format 16
2023-04-08 08:42:23 +02:00
Ivan Krysak
69c292102d
Pipeline: improve InvokableWrapperImpl::dump()
2023-03-15 10:19:02 +01:00
Ivan Krysak
03be19fab8
Pipeline: fix pure (model only) analysis support
...
Because of a missing function overload, no container-less analysis
could have been created. This adds the said overload.
2023-03-15 10:19:01 +01:00
Ivan Krysak
0b1aaeaede
Minor improvements
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
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
Antonio Frighetto
c3480b6f9b
CLOption: improve isSet for a cl::opt<T>
...
A logic issue existed when validating whether a `cl::opt<T>`
was set. This has been addressed by replacing `isDefaultOption`
method with `getNumOccurrences`, as the former one was not
meant to be used for checking if the option was set or not.
Likewise, the default Option itself is written to a `std::string`,
in method `get`; the latter is leveraged by `Invokable`.
2023-02-06 09:37:23 +01:00
Massimo Fioravanti
dc23473d85
Introduce Loader::getRegistered{Pipes,Analyses}
2022-09-29 15:55:16 +02:00
Massimo Fioravanti
3ed1ce9902
Read-only containers: support multiple readers
2022-09-26 10:33:43 +02:00
Massimo Fioravanti
a8a8eda9ac
Pipeline/Invokable.h: split
2022-08-29 14:44:20 +02:00
Massimo Fioravanti
2a996ef666
Pipeline: allow analyses to fail
2022-08-29 14:44:10 +02:00
Massimo Fioravanti
7e75a1a4b8
Pipeline: introduce preconditions for pipes
2022-08-29 14:44:02 +02:00
Massimo Fioravanti
6b099c57e8
Pipeline: introduce options for analyses
2022-08-29 14:43:25 +02:00
Massimo Fioravanti
85a9c9637f
revng-pipeline: rework logging
2022-08-10 09:49:24 +02:00
Ivan Krysak
65d1a016d4
Standardize concept naming across the codebase
2022-08-05 17:27:56 +03:00
Massimo Fioravanti
f0a5ffe3b3
revng-pipeline: globals, extractOne and analyses
2022-05-24 08:58:48 +02:00