Commit Graph

  • 3e62ec6d19 Implement labeled block detection Ivan Krysak 2022-05-16 13:45:23 +03:00
  • d515ad5c9f Move fallthrough detection to yield::cfg Ivan Krysak 2022-05-11 15:42:28 +03:00
  • 9af5429b72 Add a basic CFG pipeline Ivan Krysak 2022-05-11 16:37:36 +03:00
  • 7b4778302f Separate process-assembly from yield-assembly Ivan Krysak 2022-05-09 16:37:09 +03:00
  • 1eebad74cd Use TTG-based assembly to weaken dependency on efa Ivan Krysak 2022-05-09 16:38:23 +03:00
  • ed5d28502c Disable default instruction operand symbolization Ivan Krysak 2022-05-09 16:31:42 +03:00
  • 4d09dcc351 Switch to TTG-based assembly description Ivan Krysak 2022-05-09 12:37:31 +03:00
  • d4585f8ee5 Use tuple tree generator for assembly description Ivan Krysak 2022-05-09 12:37:16 +03:00
  • 04efcb8ed8 Drop the revng yield .* tools Ivan Krysak 2022-05-18 14:33:31 +03:00
  • bc775a91b4 Improve the String wrapper Ivan Krysak 2022-06-09 11:48:18 +03:00
  • 0194bee681 Merge branch feature/dla-push-padding-to-parent Pietro Fezzardi 2022-06-14 15:29:16 +02:00
  • 8b812680ea DLACollapsSingleChild: push padding to parent Pietro Fezzardi 2022-06-14 12:08:55 +02:00
  • af760942e7 DLATypeSystem: add API to move edge target Pietro Fezzardi 2022-06-14 12:06:39 +02:00
  • 89734f6208 DLA: add pointer placeholders to model types Pietro Fezzardi 2022-06-13 17:44:57 +02:00
  • ad81bc7020 Enable addtional compilation warnings Pietro Fezzardi 2022-06-14 12:21:22 +02:00
  • 150fab6bbc Fix a minor pipeline::Target construction issue Ivan Krysak 2022-06-10 10:46:08 +03:00
  • 257bcb9b3c Make MetaAddress constexpr constructible Ivan Krysak 2022-05-29 19:45:54 +03:00
  • dffe311ad8 Add efa::FunctionEdgeType::needsFallthrough Ivan Krysak 2022-05-14 10:15:16 +03:00
  • 71b99464fe MakeModelGEPPass: consider type size in scoring Pietro Fezzardi 2022-06-09 12:03:26 +02:00
  • db1085a167 Merge branch feature/pipeline-multiple-branches Pietro Fezzardi 2022-06-14 10:29:41 +02:00
  • 132cfe4d80 Fix pipeline yml file to support multiple branches Massimo Fioravanti 2022-06-08 16:24:48 +02:00
  • 1cc8c2c20c Fix pyYAML type error Giacomo Vercesi 2022-06-09 15:29:46 +02:00
  • 22bce466b1 revng-pipeline: support handles multiple branches Massimo Fioravanti 2022-06-08 16:28:09 +02:00
  • f8ad4e634d Replace pipeline -load using LLVM -load mechanism Massimo Fioravanti 2022-05-25 16:15:11 +02:00
  • 43fb18219b MakeModelGEPPass: fix comparison of QualifiedTypes Pietro Fezzardi 2022-06-13 16:48:32 +02:00
  • 66e077fdcb Support: Fix dropPointer() Alvise de Faveri 2022-05-26 18:56:18 +02:00
  • b13286cf04 Backend: Fix buildCastExpr() conditions Alvise de Faveri 2022-06-08 13:31:38 +02:00
  • 16fba5be15 DLA: Never create a new type for the stack Alvise de Faveri 2022-06-08 13:40:47 +02:00
  • 5a41669d2e ModelGEP: Never initialize types from LLVM IR Alvise de Faveri 2022-06-10 10:00:15 +02:00
  • c65b172af6 Backend: Emit '\n' after while loops Alvise de Faveri 2022-06-10 10:01:43 +02:00
  • fe09f519f7 Backend: Fix callee parentheses in indirect calls Alvise de Faveri 2022-06-10 10:02:13 +02:00
  • 6f41e625e7 DeduplicateUnionFields is now DeduplicateFields Pietro Fezzardi 2022-06-08 14:16:51 +02:00
  • 3e53eced5d CollapseSingleChild: ignore InterferingInfo Pietro Fezzardi 2022-06-08 14:13:01 +02:00
  • 9898c980d7 DLA: make TypeLinkTag serializable to Loggers Pietro Fezzardi 2022-06-08 14:11:55 +02:00
  • 5a37fe8a84 DLA: add MergePointerNodes Step Pietro Fezzardi 2022-06-08 07:48:29 +02:00
  • ba50eb4a55 DLA: revive and rework CollapseSingleChild Step Pietro Fezzardi 2022-06-06 15:16:43 +02:00
  • be999ebda8 DLAComputeNonInterferingComponents: drop assert Pietro Fezzardi 2022-06-01 15:48:02 +02:00
  • 5c9ae203e6 DLA: fix deps for ComputeUpperMemberAccesses Pietro Fezzardi 2022-06-01 12:29:05 +02:00
  • 546175cc75 Fix typo in comment Pietro Fezzardi 2022-06-08 07:52:14 +02:00
  • 91f9a17e4a Backend: Add cast to return value Alvise de Faveri 2022-05-26 21:01:22 +02:00
  • dd6ef1d4a8 Backend: Improve parenthesis Alvise de Faveri 2022-05-26 21:06:51 +02:00
  • 06d72f1cd9 Backend: Improve logging Alvise de Faveri 2022-05-26 21:00:07 +02:00
  • 51df8ad64d Backend: Fix select emission Alvise de Faveri 2022-05-26 21:07:23 +02:00
  • 52dd37d0ed HelpersToHeader: Whitelist helpers Alvise de Faveri 2022-05-26 19:23:45 +02:00
  • e3e5210084 DLA: Ignore offsets greater than 64K Alvise de Faveri 2022-05-26 18:44:43 +02:00
  • 99b06894c4 GHAST: Fix NotAAnd(Not)B short-circuiting Alvise de Faveri 2022-05-26 18:49:42 +02:00
  • 64c096df0b GHAST: Mark printing helpers as debug_functions Alvise de Faveri 2022-05-26 18:46:51 +02:00
  • 7f37a22b5d Support: Improve peelConstAndTypedefs constness Alvise de Faveri 2022-05-26 20:45:42 +02:00
  • 00c022119e Support: Add isCallToTagged() helper Alvise de Faveri 2022-05-26 19:14:38 +02:00
  • 190e91f4f4 Support: Add getPointerSizedInteger() Alvise de Faveri 2022-05-26 19:03:59 +02:00
  • e9fcdc3f2a Support: Convert LLVM types as generic types Alvise de Faveri 2022-05-26 18:55:19 +02:00
  • c7264badae Support: Add serializeToLLVMString(QualifiedT) Alvise de Faveri 2022-04-29 16:28:30 +02:00
  • 189fbe4651 Support: Fix the key for OpaqueExtractValue pool Alvise de Faveri 2022-04-29 16:15:41 +02:00
  • 9d18c58698 CMake: Always regenerate headers in backend tests Alvise de Faveri 2022-05-26 18:41:49 +02:00
  • 0ddbc72bbf Merge branch feature/promote-init-csv-to-undef Pietro Fezzardi 2022-05-31 12:51:59 +02:00
  • f62cdc1181 RemoveLiftingArtifacts: promote init_* to undef Pietro Fezzardi 2022-05-11 11:19:49 +02:00
  • 18b9e481c8 Backend: fix emission of integer constants Pietro Fezzardi 2022-05-31 12:37:51 +02:00
  • 229648a6cb Backend: fix casts in assignments expressions Pietro Fezzardi 2022-05-31 12:37:03 +02:00
  • d02f51c0f0 SegregateStackAccessesPass: handle dead code Pietro Fezzardi 2022-05-31 11:01:34 +02:00
  • 4ed636cbba Support emission in C of null pointers Pietro Fezzardi 2022-05-24 16:27:47 +02:00
  • 35e0e688d2 Support emission in C of integer or pointers undef Pietro Fezzardi 2022-05-11 18:19:45 +02:00
  • 67c6c81e53 MakeModelGEP: ignore undef and null addresses Pietro Fezzardi 2022-05-11 18:04:31 +02:00
  • d37c3d3dd8 Fix revng --prefix Alessandro Di Federico 2022-05-31 11:30:10 +02:00
  • 2651b8765b DLA: drop CollapseCompatibleArrays Pietro Fezzardi 2022-05-27 17:06:49 +02:00
  • 31419a5fd1 Remove old unused dla::Layout class Pietro Fezzardi 2022-05-26 16:46:47 +02:00
  • 3e78b3c9e6 DLA: fix handling of Functions without stack args Pietro Fezzardi 2022-05-24 23:20:05 +02:00
  • b09be7d34d SegregateStackAccesses: handle stackless Functions Pietro Fezzardi 2022-05-24 17:21:19 +02:00
  • 0e4842128c Add artifacts for decompilation Pietro Fezzardi 2022-05-19 11:01:50 +02:00
  • 79a799c4b3 Relax recompilation warnings on null conversions Pietro Fezzardi 2022-05-25 17:04:40 +02:00
  • 11108e8b32 Merge branch feature/pipeline-analysis Pietro Fezzardi 2022-05-25 15:56:32 +02:00
  • 36851359c1 Isolate analysis into single file Massimo Fioravanti 2022-05-20 15:42:05 +02:00
  • b184360340 Make DetectStackSizePass into a pipeline analysis Massimo Fioravanti 2022-05-19 18:08:01 +02:00
  • f40cf6471d Transformed DLA in a pipeline analysis Massimo Fioravanti 2022-05-19 16:12:38 +02:00
  • 28cf7049d5 Support new revng pipeline cli format Massimo Fioravanti 2022-05-17 17:40:50 +02:00
  • 34a0356ca3 Changes to support FunctionStringMap Massimo Fioravanti 2022-05-17 17:41:51 +02:00
  • 6b63efa0a9 Merge branch 'feature/pipeline-analysis' Alessandro Di Federico 2022-05-25 09:14:53 +02:00
  • 2f0519c3c5 GraphQL: Introduce run_all_analyses feature/pipeline-analysis Giacomo Vercesi 2022-05-19 10:34:46 +02:00
  • e5704ede11 Make Python API thread-safe and non-blocking Giacomo Vercesi 2022-05-11 16:40:34 +02:00
  • 071fe1c0e4 [FIXUP] Support analyses and global in Python Alessandro Di Federico 2022-05-24 10:55:50 +02:00
  • 7052f2a8a0 Support analyses and globals in Python Giacomo Vercesi 2022-05-11 16:02:39 +02:00
  • 7c3d9a3fcd Python API: automatically call destructors Giacomo Vercesi 2022-05-11 10:55:50 +02:00
  • 1508a1bc72 revng-pipeline: support out of line analyses Massimo Fioravanti 2022-05-20 15:45:10 +02:00
  • e38dfc74cc PipelineC: introduce run_all_analyses Massimo Fioravanti 2022-05-18 18:27:52 +02:00
  • f0a5ffe3b3 revng-pipeline: globals, extractOne and analyses Massimo Fioravanti 2022-04-27 16:19:05 +02:00
  • 2c48713af9 Make TupleTreeDiff compatible with regular vectors Massimo Fioravanti 2022-05-19 16:25:08 +02:00
  • 07c23dda8d revng-deamon: fix GraphQL URL Giacomo Vercesi 2022-05-11 10:59:54 +02:00
  • 5b39595b77 Minor changes Alessandro Di Federico 2022-05-13 15:14:51 +02:00
  • e89870d125 Merge branch 'feature/asan-support' Alessandro Di Federico 2022-05-13 07:59:49 +02:00
  • 22d469aa10 mv librevngUnitTestHelpers.{a,so} Alessandro Di Federico 2022-05-12 14:39:00 +02:00
  • 41c21ddb07 revng-daemon: use ASan Alessandro Di Federico 2022-05-12 13:22:44 +02:00
  • 34a94188f0 Suggest how to build with ASan Alessandro Di Federico 2022-05-12 13:22:11 +02:00
  • ccba62b13d revng opt: do not add --help Alessandro Di Federico 2022-05-12 21:46:53 +02:00
  • fdd6f3a5f8 Merge branch 'feature/pipeline-friendly-string-map' Alessandro Di Federico 2022-05-12 21:54:37 +02:00
  • 20fea32ce1 FunctionStringMap: improve code-reuse Pietro Fezzardi 2022-05-11 14:38:00 +02:00
  • 1bb5bd6eee ModelGlobal: don't move the underlying model::Binary Pietro Fezzardi 2022-05-10 17:40:55 +02:00
  • d968113edd mv librevngUnitTestHelpers.{a,so} feature/asan-support Alessandro Di Federico 2022-05-12 14:39:00 +02:00
  • e735510fd9 revng-daemon: use ASan Alessandro Di Federico 2022-05-12 13:22:44 +02:00
  • facd55b6a8 Suggest how to build with ASan Alessandro Di Federico 2022-05-12 13:22:11 +02:00
  • 741d55279b TupleTree: add copy-constructor and -assignment Pietro Fezzardi 2022-05-10 17:38:52 +02:00
  • b190f1a47c Refactor logic to compact function targets Pietro Fezzardi 2022-05-10 11:03:25 +02:00