Commit Graph

6113 Commits

Author SHA1 Message Date
Djordje Todorovic 2abd250ae0 model: Skip nameless dyn functions in PE 2022-08-31 18:07:47 +02:00
Pietro Fezzardi 28346484f5 Merge branch feature/pipeline-analysis-args 2022-08-31 17:56:48 +02:00
Alessandro Di Federico cd7429d100 pipes::Lift: fail if Architecture is Invalid 2022-08-29 15:13:25 +02:00
Massimo Fioravanti 9ce7b1e527 Drop Pipe suffix from pipe names 2022-08-29 14:45:45 +02:00
Massimo Fioravanti 633f49c1ef Introduce dedicated namespace for kinds and ranks 2022-08-29 14:44:53 +02:00
Massimo Fioravanti 915c083661 Pipes: reorganize who defines pipes 2022-08-29 14:44:35 +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
Alessandro Di Federico c6c66e70f4 revng.cfg-svg: use one-per-architecture 2022-08-26 18:12:23 +02:00
Alessandro Di Federico b4c5d3d37e Merge branch 'feature/import-binary-as-analysis' 2022-08-26 10:42:09 +02:00
Alessandro Di Federico ef3d24eb08 test.py: get ephemeral port, drop psutil 2022-08-26 09:50:42 +02:00
Alessandro Di Federico 73ae7c89b4 test.py: run preliminary analyses 2022-08-26 09:50:42 +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
Alessandro Di Federico f00a86d491 manager.py: check manager.produce_targets success 2022-08-26 09:50:42 +02:00
Alessandro Di Federico d81fc9a5f6 getAcceptedKinds: introduce new assertion 2022-08-26 09:50:42 +02:00
Giacomo Vercesi 2ce7b216e8 GraphQL: drop step name conversion 2022-08-26 09:50:42 +02:00
Giacomo Vercesi f281b5930b revng.daemon: rework schema_generator.py
Rework both classes in schema_generator.py, main changes:
* Drop manager.pipeline_artifact_structure as it was used exclusively
  by SchemaGenerator and is no longer needed
* Rename SchemaGen and BindableGen to SchemaGenerator and
  DynamicBindableGenerator to better express their role, add
  docstrings that explain what they do
* Decouple Artifacts and Analyses discovery, since a step can have
  analyses and no artifacts (and vice-versa)
2022-08-26 09:50:37 +02:00
Massimo Fioravanti 14d4d4e11a Rename pipes contained in namespace pipes 2022-08-25 18:17:46 +02:00
Massimo Fioravanti 370b081c0e Moved kinds to kinds namespace 2022-08-25 17:09:15 +02:00
Alessandro Di Federico 1d91ed9beb tuple_tree_generator: make C++ just a regular backend
The `tuple_tree_generator` component was still heavily treating C++ as a
special citizen.
This commit normalizes the situation.
2022-08-11 16:20:42 +02:00
Alessandro Di Federico ebc9a41044 CMake: fix regeneration of TypeScript code
In `add_custom_command` is one of the entries of `DEPENDS` is not a file
(i.e., it's a custom command), the dependency is only an ordering
dependency.  This means that the command is not actually re-run when its
dependencies are invalidated.
2022-08-11 11:16:04 +02:00
Alessandro Di Federico 033aca5d9d Merge branch 'feature/pipeline-cl-reworking' 2022-08-10 09:49:53 +02:00
Massimo Fioravanti 55b2e42139 revng-pipeline: introduce --apply-model-diff 2022-08-10 09:49:24 +02:00
Massimo Fioravanti bf39373f87 revng-invalidate: drop superfluous dependency 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 42b623db06 Pipeline: rework CLI organization 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 5894867786 revng-pipeline: s/-p/--resume/ 2022-08-10 09:49:24 +02:00
Massimo Fioravanti d250d43ee4 revng-pipeline: factor out common CLI options
Common CLI options that were used by multiple tools and have now been
isolated into a single include file to be used before declaring main.
2022-08-10 09:49:24 +02:00
Massimo Fioravanti 261a114d6d Pipeline: corner-case fix in backward deduction 2022-08-10 09:49:24 +02:00
Massimo Fioravanti b49062b2d6 revng-pipeline: introduce --produce-all-single 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 0bb115a4f3 revng-pipeline: rework syntax for targets
Was: step:container:p/a/t/h:kind
Now: step/container/p/a/t/h:kind
2022-08-10 09:49:24 +02:00
Massimo Fioravanti 4cd5abe2b0 revng-pipeline: introduce --produce and --analyze 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 9c13f8dbdd Introduce revng-artifact 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 96bd5835d8 revng-pipeline: rework file-to-container syntax 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 85a9c9637f revng-pipeline: rework logging 2022-08-10 09:49:24 +02:00
Massimo Fioravanti aa36cb7127 LLVMContainer: deduplicate linkage-related code 2022-08-10 09:49:24 +02:00
Massimo Fioravanti 84d6c2a4a8 revng-pipeline: drop redundant Logger 2022-08-10 09:49:24 +02:00
Giacomo Vercesi e23d238e85 revng.cli: explicitly initialize Commands
Commands now require a `setup` function, where the will register the
command instance manually
2022-08-10 09:49:24 +02:00
Alessandro Di Federico 74eab89e35 CMake: unset GIT_DIR before git ls-files 2022-08-10 09:49:20 +02:00
Massimo Fioravanti 14d71289fc Minor changes 2022-08-10 09:49:16 +02:00
Pietro Fezzardi 30f43fed35 Merge branch feature/pipeline-cl-reworking 2022-08-09 12:26:37 +02:00
Massimo Fioravanti 4abc358815 Add pipes required early outs on empty inputs 2022-08-09 12:26:01 +02:00
Massimo Fioravanti 36da1ced9f revng pipeline: handle new syntax for targets 2022-08-09 12:25:56 +02:00
Massimo Fioravanti bd1a4aab95 revng pipeline: handle new --produce argument 2022-08-09 12:25:56 +02:00
Massimo Fioravanti 5efda4640d revng pipeline: handle new syntax for outputs 2022-08-09 12:25:56 +02:00
Pietro Fezzardi ff563204d5 Merge branch feature/rework-efa 2022-08-09 09:38:59 +02:00
Alessandro Di Federico 62a77fcdda Merge branch 'feature/rework-efa' 2022-08-09 08:52:16 +02:00
Pietro Fezzardi a60fa30d5b DLA/Frontend: handle indirect calls prototypes 2022-08-09 08:02:10 +02:00