Alessandro Di Federico
3db971b8b4
Pipeline: invalidate if *any* input is invalidated
...
We used to invalidate only if *all* inputs were invalidated.
2025-05-07 08:36:44 +02:00
Alessandro Di Federico
e9e9a958e6
PathTargetBimap: drop ReverseMap
2024-10-30 17:54:48 +01:00
Alessandro Di Federico
33cae7de12
Pipeline: reduce usage of Context
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
fbf79b5d1b
Make Pipe::checkPrecondition optional
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
42fb8455c2
Outline InvalidationMetadata::PipeWrapper
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
2cdedc71f4
s/serialize/toString/
...
We keep serialize for method dealing with streams.
If it returns a `std::string`, let's use `toString`.
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
9bdce8e5c4
s/ExecutionContext &Ctx/ExecutionContext &EC/g
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
12a0a89e15
Ensure every pipe commits what it should
...
This commit is the final step in ensuring all the pipes commit what they
should. It also asserts this actually happens, enabling us to easily
catch future problems.
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
baea87f606
Pipeline: improving dump methods
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
850276f5c8
Minor changes
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
09bc315448
Pipeline: improve invalidation logging
2024-08-07 16:07:59 +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
Alessandro Di Federico
b0d897b87d
Minor changes
2024-06-20 10:24:49 +02:00
Massimo Fioravanti
db15f7df9a
Propagate info about inputs and outputs of pipes
...
This comit propagates the deduced info about inputs and outputs of pipes
all the way up to the runner, so that the requested output of a pipe can
be passed to its invocation.
2024-06-20 10:24:49 +02:00
Massimo Fioravanti
7ee8c8000d
Introduce revng pipe
2024-06-20 09:57:36 +02:00
Alessandro Di Federico
c061f1f971
Make Pipe::checkPrecondition mandatory
2024-05-22 10:25:25 +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
Ivan Krysak
bc98e0079f
Formatting: change PenaltyReturnTypeOnItsOwnLine
...
The new value is 21.
2023-07-02 13:20:49 +02:00
Alessandro Di Federico
b2f22c168f
Adopt clang-format 16
2023-04-08 08:42:23 +02: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
Massimo Fioravanti
d55aa9b9e6
Pipeline: remove * from targets
...
Now * is just a pipeline frontend shorthand.
2022-10-20 14:20:12 +02: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
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
f0a5ffe3b3
revng-pipeline: globals, extractOne and analyses
2022-05-24 08:58:48 +02:00
Pietro Fezzardi
0f4df96ad6
Mark some dump() methods as debug_function
2022-05-11 14:39:31 +02:00
Alessandro Di Federico
f6c9b04c81
Adopt clang-tidy: readability-identifier-naming
2022-04-04 21:15:52 +02:00
Massimo Fioravanti
7eeb9f50c0
pipeline --verbose: print list of commands
...
`revng pipeline --verbose` will now print a list of equivalent commands
for the current invocation.
2022-03-28 12:17:05 +02:00
Massimo Fioravanti
bb23892df7
Fix detail namespaces
...
Some `revng::detail` namespace were already inside a different namespace
which lead to the `revng::revng` namespace.
2022-03-28 12:17:05 +02:00
Alessandro Di Federico
5e38805063
Rename detail namespaces into revng::detail
2022-03-11 15:37:12 +01:00
Massimo Fioravanti
396095706f
Minor changes to revngPipeline
2022-02-07 20:11:15 +01:00
Massimo Fioravanti
70ec456078
Introduce revng-pipeline
2022-01-17 18:17:54 +01:00