Commit Graph

287 Commits

Author SHA1 Message Date
Khaled Ismaeel 7156cace7b Drop multiversion support in Python model wrapper 2025-04-30 15:08:45 +02:00
Alessandro Di Federico bf7be3460c Add missing dependency on generated file
This addresses a bug where running `ninja -j1` fails.
2025-04-28 12:58:27 +02:00
Ivan Krysak 80d8ac2b1d Introduce helper list collection 2025-04-17 11:19:17 +03:00
Giacomo Vercesi 6c31138374 Drop unused files in scripts/
Some files under `scripts/` were unused. Delete them as they are no
longer needed.
2025-03-13 14:06:02 +01:00
Alessandro Di Federico 797ad1678b Document CLI commands 2024-12-11 16:15:43 +01:00
Alessandro Di Federico 620d142d53 Reroganize and expand documentation 2024-12-11 16:15:37 +01:00
Alessandro Di Federico 0c7c20ad48 Introduce model, artifacts and analyses references 2024-12-11 16:15:27 +01:00
Alessandro Di Federico 276a4aa974 Generate model docs 2024-12-11 16:15:10 +01:00
Alessandro Di Federico 143c315196 Merge revng-c into revng 2024-11-21 10:50:55 +01:00
Alessandro Di Federico fdd0d6d06c CMakeLists.txt: reduce revng differences 2024-11-04 15:09:56 +01:00
Alessandro Di Federico 36e2faad3d Introduce -Wunreachable-code-break 2024-10-31 17:19:55 +01:00
Alessandro Di Federico d27773c688 CMakeLists.txt: reorg for revng-c compatibility 2024-10-31 17:19:51 +01:00
Giacomo Vercesi 8e65716ad8 Use zstd compression in pipeline
Use the zstd compression for:
* The `LLVMContainer` when serializing
* The invalidation cache when writing to disk
2024-10-30 21:57:55 +01:00
Alessandro Di Federico bf9ef91f4e Drop revng model import binary 2024-10-16 11:46:56 +02:00
Ivan Krysak ce11f37334 abi::Definition: move documentation out 2024-10-08 13:53:53 +02:00
Giacomo Vercesi 993f66d59c revng cli: drop revng- prefix from libexec
Drop using the `revng-` prefix from all executables under
`libexec/revng/`. Now any executable found under there that is
executable and without extension will be considered a `revng`
subcommand, following the usual command-line rules.
2024-10-01 13:38:14 +02:00
Alessandro Di Federico b5f7576573 Rework TupleTreeGenerator tracking 2024-06-20 10:24:50 +02:00
Alessandro Di Federico dd16a320a2 CMake: fix well-known-models install path 2024-03-01 14:53:06 +01:00
Alessandro Di Federico 0c212b66d9 Relicense to MIT 2024-02-29 17:03:36 +01:00
Alessandro Di Federico 2282f1db60 CMake: fix pointless rebuilds 2024-02-09 10:04:27 +01:00
Alessandro Di Federico 757f7e21d7 Import docs 2024-02-09 10:04:24 +01:00
Alessandro Di Federico 61a4aa17b8 CMake: fix pointless rebuilds 2024-02-09 09:04:30 +01:00
Giacomo Vercesi b7e01a764d CMake: generate component-hashes/revng
Generate the `share/revng/component-hashes/revng` file, which contains
the git commit from which the current build of revng (dirty files
notwithstanding) was built from.
2024-01-26 17:46:21 +01:00
Giacomo Vercesi d7d71a5370 CMake: generate component-hashes/revng-c
Generate the `share/revng/component-hashes/revng-c` file, which
contains the git commit from which the current build of revng-c (dirty
files nonwithstanding) was built from.
2024-01-26 17:15:08 +01:00
Andrea Gussoni b6d5a38bbe CMakeLists.txt: flag for no-limit-debug-info
Add a commented line in `CMakeLists.txt` to easily enable
`no-limit-debug-info`, which is useful to make debugging easier when
methods are missing from llvm classes.
2024-01-26 16:47:33 +01:00
Andrea Gussoni 4589330f82 CMakeLists.txt: flag for no-limit-debug-info
Add a commented line in `CMakeLists.txt` to easily enable
`no-limit-debug-info`, which is useful to make debugging easier when
methods are missing from llvm classes.
2024-01-26 15:42:16 +01:00
Massimo Fioravanti f6ff8e544d Add tracking debug infrastructure
Add a mechanism to make the program crash when a given element of the
model is read or written.
2024-01-02 11:14:56 +01:00
Alessandro Di Federico 29e52bb21d CMakeLists.txt: use system's clang
Before this commit, we were using the clang executable associated to the
LLVM installation we link againsts. But that's not what we want here.
2023-11-02 16:48:33 +01:00
Alessandro Di Federico 86e5ae8680 rm share/revng/well-known-models/CMakeLists.txt
Its presence lead to an undesirable situation where the file itself
would get copied to the install directory and using `add_subdirectory`
led to creating a set of support files (which would get installed too).

Simple solution: just push the content of that file in the root
`CMakeLists.txt`.
2023-10-06 17:16:04 +02:00
Alessandro Di Federico e512cd8918 CMake: drop hardcoded clang path 2023-08-23 16:37:39 +02:00
Djordje Todorovic 5c0167f792 Add ImportModelFromC Analysis
This analysis will be used for the following features:

1) Edit Type in the Model
2) Edit Function Prototype in the Model
3) Add Type to the Model

It takes C code as an input, parses it and produces a Model
type that represents the C type.
2023-07-24 11:51:47 +02:00
Andrea Gussoni 4ae0916934 clift: clift-opt binary 2023-07-07 17:48:09 +02:00
Ivan Krysak cd3865ee90 Switch to c++20 from c++2a 2023-07-05 06:07:11 +00:00
Ivan Krysak 5deede9992 Switch to c++20 from c++2a 2023-07-03 15:23:10 +00:00
Ivan Krysak 0e061aedc4 Make clang-format-style-file a YAML file 2023-07-02 11:06:55 +00:00
Alessandro Di Federico 92c028235f Introduce WellKnownModels analysis 2023-05-10 11:16:08 +02:00
Alessandro Di Federico 416c59c43b support.py: rework get_command
We introduce two paths where we can hard code search prefixes
(`/additional-search-prefixes`) and additional binaries paths
(`/share/revng/additional-bin-paths`).

This enables us to add to `additional-bin-paths` the configure-time
specified path of the preferred LLVM installation, instead of relying on
`PATH` to look up, e.g., `opt` at run-time.
2023-04-13 18:11:48 +02:00
Alessandro Di Federico 1454ba6ebb Link to the LLVMTargetParser library 2023-04-08 08:42:23 +02:00
Alessandro Di Federico 564519b6f9 Explicitly add -L for LLVM libraries path 2023-04-08 08:42:23 +02:00
Alessandro Di Federico 5a99154196 Put Python packages into lib/python*/site-packages 2022-10-11 19:08:10 +02:00
Alessandro Di Federico c2f16b0907 Minor changes 2022-08-08 13:54:40 +02:00
Pietro Fezzardi c8b47cfdc6 Enable -Wimplicit-fallthrough
This warning is not enabled by default with -Wall nor with -Wextra.
2022-07-05 10:33:06 +02:00
Alessandro Di Federico 73c8f353f1 Fix CMake formatting 2022-06-22 14:26:44 +02:00
Alessandro Di Federico bee6872414 Fix CMake formatting 2022-06-21 18:24:43 +02:00
Alessandro Di Federico 9ce2828659 Simplify CMake 2022-06-21 10:35:45 +02:00
Alessandro Di Federico da8cc78d17 Switch to new test suite 2022-06-21 10:35:45 +02:00
Alessandro Di Federico f4684e244d Switch to new testsuite 2022-06-20 19:04:18 +02:00
Ivan Krysak 80e9243e06 Add a basic CFG pipeline 2022-06-15 15:52:26 +03:00
Pietro Fezzardi ad81bc7020 Enable addtional compilation warnings
These warnings are not enabled by default with -Wall nor with -Wextra.
2022-06-14 12:48:54 +02:00
Alvise de Faveri 9d18c58698 CMake: Always regenerate headers in backend tests
Add an explicit dependency between the last decompilation stage and the
headers generation passes, so that we always regenerate decompilation
headers when executing the decompilation step of each test.
2022-06-01 11:02:50 +02:00