Commit Graph

1455 Commits

Author SHA1 Message Date
Massimo Fioravanti 19b2b23ce7 Dropped the steps in favor of begin steps 2022-03-10 13:51:28 +01:00
Giacomo Vercesi 1e4291a21a Add 0-length checks 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 8852c73cf9 Add global serialization 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 807d9d56ba Introduce serialization primitives for containers 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 091376ddfa Added kind verification 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 8032142c92 Renamed Pass Name to Type in the yml dsl 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 0aaead45ab Add: Command line explanation of pipes invocation 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 9b7a81f3f2 Drop: pipeline implicit rank 0 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 36b18b9fc5 Fix: loader error message 2022-03-10 13:51:28 +01:00
Massimo Fioravanti c3b8b76d05 Add multistep invalidation test 2022-03-10 13:51:28 +01:00
Massimo Fioravanti c0f3e34a6a Add pipelineC invalidation trigger 2022-03-10 13:51:28 +01:00
Massimo Fioravanti b12760ccf2 Add invalidate all pipeline manager 2022-03-10 13:51:28 +01:00
Massimo Fioravanti f53f062e41 TupleTreeDiff<Binary> now compiles 2022-03-10 13:51:28 +01:00
Massimo Fioravanti ddd80f34ec Model Invalidation Event 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 37b1dbd6c0 Implement remove on FileContainer 2022-03-10 13:51:28 +01:00
Massimo Fioravanti c233737216 Fix: 0 elements removal is not a failure
ContainerSet is now the one that has the burden to check that removal of
0 elements is always a success, rather than offloading that check onto
  containers
2022-03-10 13:51:28 +01:00
Massimo Fioravanti e7d3d6a211 Fix: llvm container mergeBack 2022-03-10 13:51:28 +01:00
Massimo Fioravanti de9fb4ae7e Add CallGraphCache 2022-03-10 13:51:28 +01:00
Massimo Fioravanti 361faa5a80 Factor out yaml generation into a single call 2022-03-10 13:51:28 +01:00
Alessandro Di Federico d5843e807f Merge branch 'feature/various-improvements' 2022-03-02 16:11:32 +01:00
Alvise de Faveri 9e326682bc Check-conventions: handle dirs with 0 python files 2022-03-02 15:40:27 +01:00
Pietro Fezzardi 269d729554 FilteredGraphs: add filter() method
The method allows to access the filter function and is useful for
templating.
2022-03-02 15:40:27 +01:00
Alvise de Faveri 0659e6b6a3 Model: Improve getCallSitePrototype() helper
1. Hoist the logic to retrieve a model CallEdge from an llvm::CallInst
   out of `getCallSitePrototype()`, in a separate `getCallEdge()`
   function.
2. Modify `getCallSitePrototype()` so that the parent function's type is
   optional.
2022-03-02 15:40:27 +01:00
Alvise de Faveri ea53846fa0 Add Qualifier::createPointer(Architecture) 2022-03-02 15:40:27 +01:00
Alvise de Faveri 62b5ec38cd Add CallEdge::isDirect() 2022-03-02 15:40:27 +01:00
Antonio Frighetto e798131082 O2Pipe: fix pipe name 2022-03-02 15:40:27 +01:00
Massimo Fioravanti b982b69c5d revng-model-inject: support model-less modules
Inject is meant to inject a model into an `llvm::Module`, but it fails
when operating on a Module that had no model metadata.

This commit fixes the bug.
2022-03-02 15:40:27 +01:00
Alessandro Di Federico 9608b337c6 Python formatting: switch to black 22 2022-03-02 15:40:27 +01:00
Alessandro Di Federico 24e6873d20 Merge branch 'feature/describe-function-type' 2022-02-25 08:21:49 +01:00
Alessandro Di Federico 984aea88ae Minor changes 2022-02-25 00:32:46 +01:00
Ivan Krysak bc0e6d1392 ABI: preliminary FinalStackOffset computation 2022-02-25 00:32:24 +01:00
Ivan Krysak 868970c5e7 ABI: specify stack alignment 2022-02-25 00:32:01 +01:00
Ivan Krysak fca0df8dd2 ABI: specify who's responsible for stack cleanup 2022-02-25 00:31:37 +01:00
Ivan Krysak 2c35fc87d5 Conversion to RawFunctionType cannot fail 2022-02-25 00:31:14 +01:00
Ivan Krysak 11989b316b Ensure model is untouched RawToCABI
It's now guaranteed to leave the model unmodified if the converstion
from `RawFunctionType` to `CABIFunctionType` fails.
2022-02-25 00:30:51 +01:00
Ivan Krysak d811321538 InvokeIsolatedFunctions: adopt Layout 2022-02-25 00:30:38 +01:00
Ivan Krysak f30ed88eb5 EnforceABI: adopt FunctionType::Layout 2022-02-25 00:30:27 +01:00
Ivan Krysak b14fee7515 Implement abi::FunctionType::layout()
The `Layout` data structure works as a common view over
`RawFunctionType` and `CABIFunctionType`.
2022-02-25 00:30:14 +01:00
Ivan Krysak 541643afc3 Move function type conversion to librevngABI 2022-02-24 23:56:30 +01:00
Alessandro Di Federico d193c6435e Merge branch 'feature/python-model' 2022-02-24 14:18:43 +01:00
Alessandro Di Federico 3f52078950 Use BYPRODUCTS after POST_BUILD copy 2022-02-24 14:18:17 +01:00
Alessandro Di Federico e7ae70e9a4 Record grandiso as a dependency 2022-02-23 18:03:45 +01:00
Filippo Cremonese 7f7a222410 python-model: handle importing multiple versions 2022-02-23 18:03:36 +01:00
Filippo Cremonese 09a995ba51 python-model: generate from jsonschema 2022-02-23 18:03:35 +01:00
Filippo Cremonese 23c40e3b51 revng: fix imports
Add missing log_error include and remove other unused imports.
2022-02-23 18:02:50 +01:00
Filippo Cremonese 6672eb8dbc Turn Python scripts into modules 2022-02-23 18:02:42 +01:00
Filippo Cremonese d5e5e16887 Apply and enforce python formatting with black 2022-02-23 18:02:39 +01:00
Filippo Cremonese 1dc7efe2b0 tuple_tree_generator: emit jsonschema 2022-02-23 17:37:03 +01:00
Filippo Cremonese 2877ead7ed revng-model-to-json: handle SIGINT 2022-02-23 17:36:38 +01:00
Filippo Cremonese 8511cbf40b tuple_tree_generator: drop tags
They were more harmful than beneficial.
2022-02-23 17:36:34 +01:00