Commit Graph

6419 Commits

Author SHA1 Message Date
Alessandro Di Federico b91c0f88c6 tmp 2025-09-10 17:59:45 +02:00
Alessandro Di Federico b532b0674a tmp 2025-09-10 13:57:46 +02:00
Tommaso Fontana d0dad4a4cb Apply revng check-conventions --force-format 2025-09-10 13:57:46 +02:00
Alessandro Di Federico 2109f1d76a Merge branch 'feature/pypeline' 2025-09-10 12:05:23 +02:00
Tommaso Fontana 80eb02c207 Pypeline: merge pypeline 2025-09-10 12:05:15 +02:00
Tommaso Fontana 2778458539 Prepare CMakeLists for pypeline merge
Readme and pyproject for revng and revng_internal to the projects
folders.
Updated CMakeLists.txt so we can specify the README and pyproject
paths.
2025-09-10 12:05:15 +02:00
Tommaso Fontana 680f5cacf2 Apply revng check-conventions --force-format 2025-09-10 12:05:14 +02:00
Alessandro Di Federico 026355cb5c Merge branch 'feature/fixes-2025-08-18' 2025-09-09 13:07:40 +02:00
Giacomo Vercesi 18509a4ca0 Add missing string to VH.fail
Add missing string to invocations of `VH.fail` that do not depend on a
child's `verify` method.
2025-09-09 12:27:33 +02:00
Giacomo Vercesi c2afb05049 VerifyHelper: set ReasonBuffer with simple str
When using `maybeFail(bool, llvm::Twine)` the `ReasonBuffer` variable
was not being set, leading sometimes to the verify reason being an empty
string.
2025-09-09 12:27:33 +02:00
Giacomo Vercesi 1a515afe07 CLIProject: fix _load_model
Fix the `_load_model` method of `CLIProject`. Before this commit it
erroneously did not call `_set_model` on all codepaths, resulting in
cases where `self.model` was incorrectly missing the `_project` field.
2025-09-08 17:36:12 +02:00
Giacomo Vercesi 5f714f9f00 tuple_tree.ts: add toString to Reference
Add the `toString` method to the `Reference` class. This is needed to
allow `makeDiff` to function correctly if it encounters an instanced of
the class.
2025-09-08 17:36:12 +02:00
Alessandro Di Federico 20b6f862d4 Merge branch 'feature/rename-local-variables-2' 2025-09-08 16:33:59 +02:00
Ivan Krysak 471e0d9c11 Old backend: always emit debug information
Because of a sub-par heuristic designed to avoid emitting
*unnecessary* debug information tags, some of the *necessary*
tags were lost as well, leading to debug information mismatch
between the backend and the UI.

Note that this is not a fix, this commit simply removes
the heuristic in question, leading to ~2x increase in
output c file size.
2025-09-08 16:33:51 +02:00
Giacomo Vercesi eba55456f6 NameBuilder: fix a use-after-free bug 2025-09-08 16:33:51 +02:00
Alessandro Di Federico 9fc7f9ee16 Merge branch 'feature/force-starts-at-and-size' 2025-09-08 16:26:01 +02:00
Ivan Krysak f03654564e Emit _STARTS_AT on fields with custom names 2025-09-05 10:15:32 +03:00
Ivan Krysak cd7f3f8ffd ModelCBuilder: rework handling of padding fields 2025-09-04 16:57:16 +03:00
Ivan Krysak c80309088a NameBuilder: add shouldUseAutomaticName method
It provides a way to dynamically check whether a custom name is
going to be emitted for a specific entity or not.
2025-09-04 16:57:16 +03:00
Ivan Krysak 3eea4c4094 Always emit _SIZE on struct definitions 2025-09-04 16:57:12 +03:00
Ivan Krysak c6a175a1b9 Rename _START_AT -> _STARTS_AT 2025-08-29 14:00:29 +03:00
Giacomo Vercesi 62421eeaa2 fetch debuginfo: switch default servers
Switch the default servers used by `fetch debuginfo` to revng-managed
ones, as especially the elfutils.org once has been spotty in the past.
2025-08-08 17:52:57 +02:00
Giacomo Vercesi 9f63c7c476 revng daemon: handle PipelineManager no init
Handle the case in `revng daemon` where the `PipelineManager` fails to
init. In this scenario the server responds to all requests with a 500
(with the exception of `/` and `/status`, which return 200).
2025-07-30 15:43:02 +02:00
Giacomo Vercesi 140a49d088 revng daemon: handle ClientDisconnect exceptions
Gracefully handle the occurrence of a `ClientDisconnect` exception while
processing requests in `revng daemon`.
2025-07-30 14:54:17 +02:00
Pietro Fezzardi 308d2cda0a DecompileFunction: handle struct-returning helpers
This commit fixes DecompileFunction.cpp to ensure that it can properly
handle calls to helpers that return struct types on LLVM IR.
In the past, these were properly handled but in the current tests this
kind of helpers never reach the C backend anymore.
This is a preliminary change necessary for updating libtcg, where this
kind of helpers will start to appear again.
2025-07-28 14:21:32 +02:00
Giacomo Vercesi 615b2a69f8 synchronizer: avoid using multipart
Change the `TransferConfig` used by `S3Synchronizer._upload_file` to
effectively never use multipart upload.
2025-07-28 12:45:11 +02:00
Giacomo Vercesi f027129399 revng daemon: increase logging
Add additional logs to communicate when an upload happens, when a
produce is run and when an analysis is run.
2025-07-25 16:50:19 +02:00
Pietro Fezzardi 5df386cbe4 Merge branch 'feature/fix-cfg-padding' 2025-07-24 14:25:18 +02:00
Ivan Krysak 03b8d29cb9 CFG: introduce flat per-line padding 2025-07-24 13:31:29 +03:00
Ivan Krysak 0db801b439 CFG: ignore empty lines at the ends of blocks 2025-07-24 13:31:29 +03:00
Andrea Gussoni ba7ee595b5 BeautifyGHAST: introduce soft failure
Introduce an additional consistency check for loops having an empty body
at the beginning of the `beautify` pipeline.
2025-07-23 13:39:30 +02:00
Alessandro Di Federico efc8978911 Merge branch 'feature/rename-local-variables' 2025-07-23 11:39:03 +02:00
Ivan Krysak f6970ff70a TypeNames: fix function prototype return value tag 2025-07-23 11:38:53 +02:00
Ivan Krysak e6d8ac2c87 Model: improve RFT verification output 2025-07-23 11:38:53 +02:00
Ivan Krysak a285ad2785 IRHelperRegister: get a comment from Description 2025-07-23 11:38:53 +02:00
Ivan Krysak b656381ec5 Update ptml documentation
This also reorders definitions in `revng/Pipes/Ranks.h` to match
the order used by the docs.
2025-07-23 11:38:53 +02:00
Ivan Krysak 97aa3c8247 std::string: use implicit default constructor 2025-07-23 11:38:53 +02:00
Ivan Krysak 90862b68ed StringBufferContainer: fix StartingContent 2025-07-23 11:38:53 +02:00
Ivan Krysak 290d2e2c57 ptml::CTypeBuilder: rename into ModelCBuilder 2025-07-23 11:38:53 +02:00
Ivan Krysak 116c8675db Ranks: greatly improve documentation 2025-07-23 11:38:52 +02:00
Ivan Krysak 2b9b925e8c TTG: make doc mandatory in fields too 2025-07-23 11:38:52 +02:00
Ivan Krysak 9589721b52 Model schema: reorder and reformat
This improves readability and navigation in this big file.
2025-07-23 11:38:52 +02:00
Ivan Krysak 9e5053d9fd CMakeLists: remove unused variables 2025-07-23 11:38:52 +02:00
Ivan Krysak f49ec25de3 TTG: make doc mandatory in structs and enums 2025-07-23 11:38:52 +02:00
Ivan Krysak a11215bd73 Model schema: drop trailing newlines from docs 2025-07-23 11:38:52 +02:00
Ivan Krysak f391392fe9 Use explicit separator strings 2025-07-23 11:38:52 +02:00
Ivan Krysak 3750f96065 DecompilePipe: report problem variable names 2025-07-23 11:38:52 +02:00
Ivan Krysak 461c49df25 Model: bump version to 5 and introduce migration 2025-07-23 11:38:52 +02:00
Ivan Krysak 99476b249e NamespaceBuilder: add variable and label support 2025-07-23 11:38:52 +02:00
Ivan Krysak c9072ec28f TypePathHelpers: add variable and goto label paths 2025-07-23 11:38:52 +02:00