Ivan Krysak
729b025de3
CAttributes.h: move back to PTML
...
When `revng` and `revng-c` were being merged, this header founds its
way into `revngSupport` even though it makes more sense under the PTML
umbrella.
2026-03-27 07:19:27 +00:00
Ivan Krysak
e706628a49
Rename Annotations.h into CAttributes.h
2026-03-27 07:19:27 +00:00
Alessandro Di Federico
1429b526ab
Introduce libtcg
...
This commit drops libptc in favor of its new form libtcg.
It brings several improvements, among which:
* The QEMU version we work on has been upgraded.
* CPUStateAccessAnalysis has been reimplemented in a way that makes it
easier to debug and solves some limitations (e.g., tracking leaking
pointers).
* Identification of pieces of the CPU state that are read by each helper
and fixing access to the CPU state is now performed at build-time.
* We no longer mmap the code we need to translate, dropping all the
issues related to code that needed to be mapped where something is
already present.
* We now have two distinct flavors of helper modules: the full one and
the "slim" one. The latter contains the definition only of functions
we intend to inline. It is used in most of the pipeline, a good thing
since we spend less time optimizing code we don't really care about.
The full module is only used on the re-compilation branch of the
pipeline.
* We no longer split the `cpu_loop` function.
* We change MetaAddress to rely on architectures from `model::` as
opposed to the LLVM ones.
* We no longer attach debug info to LLVM IR containing the original
assembly.
* We now verify that the lifted code only contains code we expect.
2025-10-31 17:25:03 +01:00
Ivan Krysak
ecb9d76c64
Model: drop obsolete default value handling
2025-10-13 18:33:10 +03:00
Ivan Krysak
77ea07c364
Minor improvements
2025-10-08 12:22:30 +03:00
Ivan Krysak
c6a175a1b9
Rename _START_AT -> _STARTS_AT
2025-08-29 14:00:29 +03:00
Ivan Krysak
290d2e2c57
ptml::CTypeBuilder: rename into ModelCBuilder
2025-07-23 11:38:53 +02:00
Ivan Krysak
c7bba8c1b9
Prevent Support headers from depending on PTML
2025-05-08 15:42:01 +02:00
Ivan Krysak
79964eac74
Avoid ' misuse in error messages and comments
2025-04-17 16:41:21 +02:00
Ivan Krysak
f070f1f1e1
Model: sunset double name system
2025-04-17 11:19:17 +03:00
Ivan Krysak
3edb6cbb9b
Minor improvements
2025-04-15 16:35:42 +03:00
Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Alessandro Di Federico
143c315196
Merge revng-c into revng
2024-11-21 10:50:55 +01:00
Ivan Krysak
64446d0453
Adopt name builder across the model users
2024-11-06 19:18:53 +02:00
Alessandro Di Federico
98903f6b07
Move Ranks.h to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
253558ba63
Minor changes
2024-11-04 15:09:56 +01:00
Ivan Krysak
1a35cbcb77
Introduce PTMLCTypeBuilder
2024-10-15 10:45:13 +03:00
Alessandro Di Federico
045f982a32
Improve usage of Expected<T>
2024-10-09 15:16:55 +02:00
Alessandro Di Federico
ca99bbbb66
Adopt toString()
2024-09-26 17:51:08 +02:00
Ivan Krysak
a8b5ebdd95
import-from-c: rework testing from the ground up
2024-09-04 16:55:49 +02:00
Pietro Fezzardi
4d845c5cdb
HeaderToModel: drop unused Logger
2024-09-04 16:55:49 +02:00
Pietro Fezzardi
4e2617f4c5
HeaderToModel: fix double parsing of enums
2024-09-04 16:55:48 +02:00
Ivan Krysak
d36e50e0d1
HeaderToModel: switch to the new annotation system
2024-09-04 16:44:23 +02:00
Ivan Krysak
e67a08ce05
HeaderToModel: greatly improve reported errors
2024-09-04 16:43:40 +02:00
Ivan Krysak
cc16b8f3c8
HeaderToModel: improve RFT argument handling
2024-09-04 16:43:23 +02:00
Ivan Krysak
60391c9ab6
HeaderToModel: forbid stack return values in RFTs
2024-09-04 16:43:07 +02:00
Ivan Krysak
adb1551283
HeaderToModel: make type ID detection stricter
2024-09-04 16:42:50 +02:00
Ivan Krysak
73a723e9f4
HeaderToModel: rework error reporting
2024-09-04 16:42:29 +02:00
Ivan Krysak
748e4dd560
HeaderToModel: add code annotation support
2024-09-04 13:04:44 +03:00
Ivan Krysak
cb82331a17
HeaderToModel: add struct size annotation support
2024-09-04 13:04:44 +03:00
Ivan Krysak
e708f3f8fc
HeaderToModel: add padding annotation support
2024-09-04 13:04:44 +03:00
Ivan Krysak
ee22a5a558
HeaderToModel: clean up type replacement
2024-09-04 13:04:44 +03:00
Ivan Krysak
000d9f26aa
HeaderToModel: revamp annotation parsing
2024-09-04 13:04:44 +03:00
Ivan Krysak
b297bec1bb
HeaderToModel: clean up global strings
2024-09-04 13:04:44 +03:00
Ivan Krysak
dc6f2456be
Minor improvements
2024-09-04 13:04:44 +03:00
Pietro Fezzardi
dfe3f4cb47
Rename revng C headers for decompiled code
...
Strip away the 'revng-' prefix from the filename.
2024-06-27 17:26:18 -04:00
Ivan Krysak
94a0ad6b93
Adopt reworked model::Type
2024-06-27 11:07:01 +02:00
Ivan Krysak
c2b4fb70bb
Model: rename TypePath to DefinitionReference
2024-06-27 11:07:01 +02:00
Ivan Krysak
3705906074
Model: rename Type into TypeDefinition
2024-06-27 11:07:01 +02:00
Lauri Vasama
e2f3f31093
Introduce RawFunctionType::Architecture
2024-05-29 15:43:35 +02:00
Lauri Vasama
d49a06bf25
Fix spelling of DefaultRawType
2024-05-29 15:43:35 +02:00
Giacomo Vercesi
94904b2ad8
HeaderToModel: output all error lines
...
Change the behaviour of `HeaderToModelDiagnosticConsumer` to report all
error lines instead of the last one.
2024-03-01 16:07:45 +01:00
Alessandro Di Federico
0c212b66d9
Relicense to MIT
2024-02-29 17:03:36 +01:00
Alessandro Di Federico
23b3bc9e16
s/ImportModelFromC/ImportFromC/g
2024-02-09 09:03:34 +01:00