Commit Graph

2666 Commits

Author SHA1 Message Date
Alessandro Di Federico 4d69437548 Split moveBlocksInto off moveToNewFunctionType 2022-08-08 13:55:25 +02:00
Alessandro Di Federico 40f672ead9 EFA debug passes: raw_{fd_,}ostream 2022-08-08 13:55:25 +02:00
Alessandro Di Federico b07d134b73 Introduce CanonicalRegisterValues in the model
These canonical values ease certain analysis that can assume their value
at function entry.
2022-08-08 13:55:25 +02:00
Alessandro Di Federico 45d563bc15 revng: use ld.so --preload instead of LD_PRELOAD 2022-08-08 13:55:25 +02:00
Alessandro Di Federico 0566381ecf ELFImporter: make importing more robust 2022-08-08 13:55:25 +02:00
Alessandro Di Federico e0e8b4e5b6 ELFImporter.cpp: s/Log/ELFImporterLog/ 2022-08-08 13:55:25 +02:00
Alessandro Di Federico 82771be9b5 revng-model-dump: emit YAML 2022-08-08 13:55:25 +02:00
Alessandro Di Federico 6d0fd9ada5 Make abi::FunctionType::Layout::Layout() public 2022-08-08 13:55:25 +02:00
Alessandro Di Federico 6f93a7503f tuple_tree_generator: more informative errors 2022-08-08 13:55:25 +02:00
Alessandro Di Federico bdfcbdd8d9 Implement std::set intersection 2022-08-08 13:55:23 +02:00
Alessandro Di Federico 2088a65fa0 Implement SuccessorsList::operator== 2022-08-08 13:54:41 +02:00
Alessandro Di Federico c4ca2e5d14 Introduce MetaAddress::isIn 2022-08-08 13:54:41 +02:00
Alessandro Di Federico 8e358d6609 Introduce additional assertions 2022-08-08 13:54:41 +02:00
Alessandro Di Federico 81c2a93add Normalize FilePortion 2022-08-08 13:54:41 +02:00
Alessandro Di Federico c2f16b0907 Minor changes 2022-08-08 13:54:40 +02:00
Alessandro Di Federico 9a3c238b3f Merge branch 'feature/revng-binary-location' 2022-08-08 13:53:22 +02:00
Ivan Krysak b3f9ce7cc2 Use locations in PTML exporter 2022-08-05 21:47:05 +03:00
Ivan Krysak 7b7c4c25b9 Standardize the pipe names to use CamelCase 2022-08-05 21:46:46 +03:00
Ivan Krysak dff7c5f37d Move yield pipes into revngYield 2022-08-05 21:46:28 +03:00
Massimo Fioravanti c97187fd0e Add cross relations role 2022-08-05 21:45:19 +03:00
Ivan Krysak 191fc99c1c Add a pipe for call-graph processing 2022-08-05 20:45:16 +02:00
Ivan Krysak 8f4590bf00 Outline the cross-relation interface 2022-08-05 21:42:58 +03:00
Ivan Krysak 67bff75b7f Add basic location tests 2022-08-05 21:42:45 +03:00
Ivan Krysak fe04a13a5b Introduce basic location support 2022-08-05 20:42:41 +02:00
Ivan Krysak 1ac6d6ea0d Introduce constexpr string splitter 2022-08-05 21:02:29 +03:00
Ivan Krysak 1b0fb2adfc Introduce constexpr repeat helpers 2022-08-05 20:59:02 +03:00
Ivan Krysak 792da8151e Redesign the rank definition process 2022-08-05 19:58:57 +02:00
Ivan Krysak 44fbe3e18b Rename abi::IsTrait into abi::TraitLike 2022-08-05 17:27:56 +03:00
Ivan Krysak 65d1a016d4 Standardize concept naming across the codebase 2022-08-05 17:27:56 +03:00
Ivan Krysak 4ee2835d52 Fix a trait inheritance problem 2022-08-05 17:27:56 +03:00
Ivan Krysak 409486609c Add EqualityComparable concept 2022-08-05 17:27:56 +03:00
Ivan Krysak 8dce9ef724 Fix the problem with negative node ranks
Having the initial rank threshhold too low caused them to sometimes
loop around and become negative, causing problems later down the line.

This sets the rank of the "entry" node to 4 offsetting the possible
causes of this issue quite a bit.
2022-08-05 17:27:56 +03:00
Ivan Krysak 240f334d78 Fix minor wording issues 2022-08-05 17:27:56 +03:00
Ivan Krysak 4ffadb2144 Fix an iteration invalidation caused issue 2022-08-05 17:27:56 +03:00
Ivan Krysak 9610051df9 Fix yaml traits to correctly [de]serialize scalars 2022-08-05 17:27:56 +03:00
Ivan Krysak de99de78ae Add key overloads for model::getTypePath 2022-08-05 17:27:56 +03:00
Ivan Krysak 165964bde1 Add a ConstexprString container to ADT 2022-08-05 17:27:56 +03:00
Ivan Krysak 8305e020b0 Move ranks into their own namespace 2022-08-05 17:27:56 +03:00
Ivan Krysak c21d8398e6 Move ranks into a separate header 2022-08-05 17:27:56 +03:00
Alessandro Di Federico add47a861a EnforceABI: use read-only model 2022-08-05 14:39:29 +02:00
Alessandro Di Federico c2651f7218 importBinary: fail if no architecture is specified 2022-08-04 17:27:06 +02:00
Alessandro Di Federico 01ed4fb687 PCH: handle a dispatcher with 0 elements 2022-08-03 18:36:52 +02:00
Alessandro Di Federico 5f49437393 CodeGenerator: invoke peek post newpc creation 2022-08-03 18:35:57 +02:00
Alessandro Di Federico 9046977506 Merge branch 'feature/improve-pe-support' 2022-07-28 15:50:28 +02:00
Djordje Todorovic ee686ef158 import-pe: Add more tests for type system 2022-07-28 15:04:26 +02:00
Djordje Todorovic 1243d1061c Introduce revng model hard-purge
In addition, introduce a new model Pass:

  revng model opt -prune-unsused-types
2022-07-28 15:02:55 +02:00
Djordje Todorovic d69020745d import-pe: Add tests 2022-07-28 15:02:49 +02:00
Djordje Todorovic fdb12947a2 Introduce revng model download-pdb 2022-07-28 14:52:50 +02:00
Djordje Todorovic 46bc14bc73 Model: Add an opt for user defined paths of PDB 2022-07-28 14:52:50 +02:00
Djordje Todorovic a36e22729f Model: Add PDB support 2022-07-28 14:52:50 +02:00