Commit Graph

  • 29d55849c5 Sync formatting changes Giacomo Vercesi 2022-05-31 12:23:46 +02:00
  • 5d31320bd8 Merge branch feature/reference-semantics Pietro Fezzardi 2022-06-28 10:39:04 +02:00
  • d98db76ce1 IRCanonicalization: Add DuplicateReferences pass Alvise de Faveri 2022-06-23 18:45:00 +02:00
  • be6b35bbbc Marker: Check that we never mark references Alvise de Faveri 2022-06-23 18:49:43 +02:00
  • f3b2bf2e2d IRCanonicalization: Remove early-cse Alvise de Faveri 2022-06-23 18:48:11 +02:00
  • 562df4f288 Recompilation: Add -Wno-return-stack-address Alvise de Faveri 2022-06-23 18:45:31 +02:00
  • 2ffa537605 IRCanonicalization: Add Copy() Alvise de Faveri 2022-06-23 18:43:29 +02:00
  • d9d9294fe5 MarkAssignment: fix taint set and aggregate types Pietro Fezzardi 2022-06-21 11:39:08 +02:00
  • fefe460ae4 Add parentheses logic for reference opcodes Alvise de Faveri 2022-06-17 12:51:35 +02:00
  • 6b258c83a1 IRCanonicalization: Fold ModelGEP(AddressOf()) Alvise de Faveri 2022-06-15 18:43:14 +02:00
  • 123a1777cd IRCanonicalization: Add RemoveLoadStore pass Alvise de Faveri 2022-06-15 17:51:02 +02:00
  • f7866ddd85 IRCanonicalization: Add MakeLocalVariables pass Alvise de Faveri 2022-06-15 17:45:05 +02:00
  • da46b38644 Backend: Various improvements to variables declaration Alvise de Faveri 2022-06-15 17:36:43 +02:00
  • 221b8f74d9 Add reference semantics to stack opcodes Alvise de Faveri 2022-06-15 17:35:20 +02:00
  • ad524a4d4d ModelGEP: Return the size of the gepped field Alvise de Faveri 2022-06-15 18:58:34 +02:00
  • f010aea785 ModelGEP: Don't generate index-less GEPs Alvise de Faveri 2022-05-27 16:31:00 +02:00
  • a31fd8587d AssignmentMarker: Handle variables scoping Alvise de Faveri 2022-06-15 18:02:45 +02:00
  • a1ae60dc77 IRCanonicalization: Add RemovePointerCasts pass Alvise de Faveri 2022-06-15 16:17:23 +02:00
  • de334a92e9 Backend: Make IntToPtr and PtrToInt transparent Alvise de Faveri 2022-05-31 18:07:15 +02:00
  • fa68b56573 Add ReadsMemory and WritesMemory Tags Alvise de Faveri 2022-05-31 17:49:43 +02:00
  • 1d337bd656 Merge branch 'feature/pipeline-fixes-for-mass-testing' Alessandro Di Federico 2022-06-23 13:26:28 +02:00
  • e05972bd88 Make ref opcodes ReadOnly and InaccessibleMem Alvise de Faveri 2022-06-10 17:05:05 +02:00
  • 66c243c46d Backend: Don't emit "undef" when logging Alvise de Faveri 2022-06-10 10:04:43 +02:00
  • 1527a8667b Introduce revng pipeline --analyze-all Massimo Fioravanti 2022-05-25 10:36:27 +02:00
  • 8c7434f79e pipes::FileContainer: drop temporary file on crash Massimo Fioravanti 2022-06-22 11:33:58 +02:00
  • 93ccd83f6e Fix: llvm merge back crash Massimo Fioravanti 2022-05-31 18:01:40 +02:00
  • 726caad82b pipeline::Target: fix infinite loop due to typo Massimo Fioravanti 2022-06-21 18:26:44 +02:00
  • 1b1198ae5f PromoteInitCSVToUndef now removes init_* calls Pietro Fezzardi 2022-06-22 15:03:00 +02:00
  • 010268b36c Tests: use all !for-runtime Alessandro Di Federico 2022-06-22 13:30:20 +02:00
  • 73c8f353f1 Fix CMake formatting Alessandro Di Federico 2022-06-22 13:29:45 +02:00
  • bfdd74be5b Merge branch 'feature/format-fixes' Alessandro Di Federico 2022-06-21 18:39:55 +02:00
  • ee95dbba26 check-conventions: update for share/revng Alessandro Di Federico 2022-06-21 18:38:18 +02:00
  • 867c68078a Drop superfluous f"..." Alessandro Di Federico 2022-06-21 18:36:59 +02:00
  • 0e2b9a0629 check-conventions: don't search in SCRIPT_PATH Alessandro Di Federico 2022-06-21 18:36:05 +02:00
  • bee6872414 Fix CMake formatting Alessandro Di Federico 2022-06-21 18:24:43 +02:00
  • 7c44328a49 Introduce YAML license notice Alessandro Di Federico 2022-06-21 18:19:06 +02:00
  • 12efa99680 Merge branch origin/feature/new-test-suite Pietro Fezzardi 2022-06-21 15:24:11 +02:00
  • 4688e520f6 Merge branch 'feature/new-test-suite' Alessandro Di Federico 2022-06-21 15:16:57 +02:00
  • 6d3a35cf22 EFA: ignore dynamic functions, if static too feature/new-test-suite Alessandro Di Federico 2022-06-21 14:17:55 +02:00
  • 9ce2828659 Simplify CMake Alessandro Di Federico 2022-06-20 11:50:45 +02:00
  • da8cc78d17 Switch to new test suite Alessandro Di Federico 2022-06-17 18:24:36 +02:00
  • f4684e244d Switch to new testsuite Alessandro Di Federico 2022-05-04 14:33:24 +02:00
  • 55fb87b268 PipelineC: introduce dead kinds Massimo Fioravanti 2022-06-01 18:44:01 +02:00
  • 7311b7e2da Merge branch 'feature/yield-cfg-pipeline' Alessandro Di Federico 2022-06-17 08:37:36 +02:00
  • ac74ae2fff Add the cfg generation test Ivan Krysak 2022-06-15 14:44:56 +03:00
  • 71115c8062 Implement SVG control flow exporter Ivan Krysak 2022-06-15 14:44:51 +03:00
  • eb129428a9 Import edge routing from caliban Ivan Krysak 2022-06-15 14:44:45 +03:00
  • 5ff8a00b2e Import edge ordering from caliban Ivan Krysak 2022-05-12 15:07:32 +03:00
  • 479d0287c7 Import corner routing from caliban Ivan Krysak 2022-05-12 15:05:55 +03:00
  • b69121bc0a Import vertical coordinate position from caliban Ivan Krysak 2022-05-12 15:01:04 +03:00
  • acf5858099 Import edge lane selection from caliban Ivan Krysak 2022-05-12 14:59:25 +03:00
  • 057ac648c3 Import horizontal coordinate position from caliban Ivan Krysak 2022-05-12 14:57:00 +03:00
  • 98b098cbce Import graph layout finalization from caliban Ivan Krysak 2022-05-12 14:49:42 +03:00
  • eee95028d0 Import linear segment selection from caliban Ivan Krysak 2022-05-12 14:48:38 +03:00
  • 054f9a2b25 Import topological ordering from caliban Ivan Krysak 2022-05-12 14:44:16 +03:00
  • 678e203164 Import permutation selection from caliban Ivan Krysak 2022-05-12 14:39:29 +03:00
  • c45f4d5e73 Import graph preparation from caliban Ivan Krysak 2022-05-12 14:24:51 +03:00
  • 7e538776d4 Outline sugiyama style layouter interface Ivan Krysak 2022-05-11 15:44:31 +03:00
  • 7591788620 Implement node size calculation Ivan Krysak 2022-05-11 15:44:04 +03:00
  • 840a34c0a4 Implement CFG extraction Ivan Krysak 2022-05-11 15:43:32 +03:00
  • 71f2ea6b22 Outline yield::Graph Ivan Krysak 2022-05-11 15:43:11 +03:00
  • d3afdc47bb Outline yield::cfg::Configuration Ivan Krysak 2022-05-11 15:42:58 +03:00
  • 5b49873523 Move delay slot control down to basic block level Ivan Krysak 2022-06-10 10:44:46 +03:00
  • 33c8ce96bd Use labeled block system instead of block strings Ivan Krysak 2022-05-16 13:46:09 +03:00
  • b19663e439 Implement labeled block detection Ivan Krysak 2022-05-16 13:45:23 +03:00
  • de9861815a Move fallthrough detection to yield::cfg Ivan Krysak 2022-05-11 15:42:28 +03:00
  • 80e9243e06 Add a basic CFG pipeline Ivan Krysak 2022-05-11 16:37:36 +03:00
  • f536ba46f0 Separate process-assembly from yield-assembly Ivan Krysak 2022-05-09 16:37:09 +03:00
  • 832a8d0baa Use TTG-based assembly to weaken dependency on efa Ivan Krysak 2022-05-09 16:38:23 +03:00
  • 74764f9729 Switch to TTG-based assembly description Ivan Krysak 2022-05-09 12:37:31 +03:00
  • f26ee02029 Use tuple tree generator for assembly description Ivan Krysak 2022-05-09 12:37:16 +03:00
  • 569d677157 Disable default instruction operand symbolization Ivan Krysak 2022-05-09 16:31:42 +03:00
  • 7063bb528c Make CFG verification use GenericGraph exporter Ivan Krysak 2022-05-29 19:50:05 +03:00
  • 49d0c316a0 Implement GenericGraph-based CFG exporter Ivan Krysak 2022-05-29 19:47:19 +03:00
  • 2bf486779b Merge branch feature/op-precedence Pietro Fezzardi 2022-06-15 10:46:41 +02:00
  • 97e79783ae Backend: handle Parentheses and ModelCast markers Antonio Frighetto 2022-05-19 16:30:16 +02:00
  • cd65fd1554 Introduce OperatorPrecedenceResolutionPass Antonio Frighetto 2022-05-19 16:28:17 +02:00
  • 4a045cce53 Introduce MakeModelCastPass Antonio Frighetto 2022-06-01 17:43:13 +02:00
  • 5dc3c69efa Add the cfg generation test feature/yield-cfg-pipeline Ivan Krysak 2022-06-14 12:18:25 +03:00
  • 22958701cd Implement SVG control flow exporter Ivan Krysak 2022-05-11 15:46:06 +03:00
  • 45ede5fd6b Import edge routing from caliban Ivan Krysak 2022-05-12 15:10:08 +03:00
  • e5f98a0437 Import edge ordering from caliban Ivan Krysak 2022-05-12 15:07:32 +03:00
  • 64b9101202 Import corner routing from caliban Ivan Krysak 2022-05-12 15:05:55 +03:00
  • 1b3ff006e1 Import vertical coordinate position from caliban Ivan Krysak 2022-05-12 15:01:04 +03:00
  • a63121bd9c Import edge lane selection from caliban Ivan Krysak 2022-05-12 14:59:25 +03:00
  • e30dce4367 Import horizontal coordinate position from caliban Ivan Krysak 2022-05-12 14:57:00 +03:00
  • 436bfdd697 Import graph layout finalization from caliban Ivan Krysak 2022-05-12 14:49:42 +03:00
  • 2d77caa383 Import linear segment selection from caliban Ivan Krysak 2022-05-12 14:48:38 +03:00
  • ad33e581b5 Import topological ordering from caliban Ivan Krysak 2022-05-12 14:44:16 +03:00
  • 20041374af Import permutation selection from caliban Ivan Krysak 2022-05-12 14:39:29 +03:00
  • 4a2898596f Import graph preparation from caliban Ivan Krysak 2022-05-12 14:24:51 +03:00
  • fc45885841 Outline sugiyama style layouter interface Ivan Krysak 2022-05-11 15:44:31 +03:00
  • a6a2b030db Implement node size calculation Ivan Krysak 2022-05-11 15:44:04 +03:00
  • da4bfb8644 Implement CFG extraction Ivan Krysak 2022-05-11 15:43:32 +03:00
  • 8136cb611b Make CFG verification use GenericGraph exporter Ivan Krysak 2022-05-29 19:50:05 +03:00
  • e7a523162a Implement GenericGraph-based CFG exporter Ivan Krysak 2022-05-29 19:47:19 +03:00
  • 4289c8aa74 Outline yield::Graph Ivan Krysak 2022-05-11 15:43:11 +03:00
  • d6b3d9f346 Outline yield::cfg::Configuration Ivan Krysak 2022-05-11 15:42:58 +03:00
  • b59d5c6cfe Move delay slot control down to basic block level Ivan Krysak 2022-06-10 10:44:46 +03:00
  • 8121eeec8c Use labeled block system instead of block strings Ivan Krysak 2022-05-16 13:46:09 +03:00