Lauri Vasama
9c5338913d
Add TargetABI field in the model
2026-05-04 10:48:03 +03:00
Lauri Vasama
0ab9f769dd
Add CDataModel in ABI definition
2026-05-02 17:21:47 +03:00
Lauri Vasama
27fb305c5a
Add revng/Support/CDataModel
...
This structure describes the data model used by a C ABI.
2026-04-30 15:09:16 +03:00
Lauri Vasama
7f2bf61d10
Move cast collapsing rewrite to a separate set
2026-04-30 15:09:16 +03:00
Lauri Vasama
5a538c0f84
Add (*x).m -> x->m expression rewrite
2026-04-30 15:09:16 +03:00
Lauri Vasama
e5fb446430
Rename BooleanNegations.h to Expressions.h
2026-04-30 15:09:16 +03:00
Lauri Vasama
be564f8944
Migrate isIntegerType users to unwrapped_isa
2026-04-30 15:09:16 +03:00
Lauri Vasama
9dced83bd6
Add Clift IntegralType interface
2026-04-30 15:09:16 +03:00
Lauri Vasama
b6283c8684
Add ExpressionRegionOpInterface on loops, branches
2026-04-30 15:09:16 +03:00
Lauri Vasama
7126513af8
Add CallOp::getFunctionType
2026-04-30 15:09:16 +03:00
Lauri Vasama
49cc67db11
Make DefinedType implement AddressableType
2026-04-30 15:09:16 +03:00
Lauri Vasama
5b13b6948c
Add ScopedExchange::commit to persist the mutation
2026-04-30 15:09:16 +03:00
Lauri Vasama
4c97c6e7ab
Make CAttributeListBuilder conversion explicit
2026-04-30 15:09:16 +03:00
Lauri Vasama
c56742770b
Use const ArrayRef in emitHelperHeader
2026-04-30 15:09:16 +03:00
Lauri Vasama
b30b4feec9
Remove MLIRContext from TypeDefinitionEmitter API
2026-04-30 15:09:16 +03:00
Lauri Vasama
90e5dfd4c9
Pass MLIRContext by address
...
Passing by address is more conventional. This is what MLIR does most of
the time, and it avoids dereferences and addressofs everywhere.
2026-04-30 15:09:16 +03:00
Lauri Vasama
ac5000b194
Add ModuleVisitor visitModuleOp call
2026-04-30 15:09:16 +03:00
Lauri Vasama
3d8d88096d
Fix CIdentifierAttr formatting
2026-04-30 15:09:16 +03:00
Lauri Vasama
31c80b0625
Fix (&x)->m -> x.m expression rewrite
2026-04-30 15:09:16 +03:00
Lauri Vasama
a338194eb7
Move namespace mlir::clift out of namespace mlir
2026-04-27 12:48:24 +03:00
Lauri Vasama
4b4d5a2c28
Fix clift::getOnlyUser
2026-04-27 12:48:24 +03:00
Alessandro Di Federico
c1b3f23cf5
Uniform Binary::get{Definition,Binary}Reference
2026-04-24 17:54:09 +02:00
Alessandro Di Federico
2629f95dd1
Introduce ImportPrototypesFromDatabase
...
This commit introduces an analysis to import prototypes from a SQLite
database of well-known prototypes, typically built from debug info of
operating systems.
This analysis supersedes import-well-known-models.
2026-04-24 17:54:09 +02:00
Alessandro Di Federico
6894862ef2
Implement platform roots support
...
Refactor the binary import and dependency resolution infrastructure to
support multiple platforms (Linux, Windows, macOS) via a
configuration-driven root system.
Major changes:
* Overhaul PDB and DWARF importers for platform-aware debug info
loading.
* Refactor LDDTree into a template-based architecture with
platform-specific implementations (ELF, PE/COFF).
* Mostly rewrite the PDB importer, which had significant limitations.
2026-04-24 17:54:09 +02:00
Alessandro Di Federico
4a51b67700
TypeCopier: improve performance
...
This commit refactors `TypeCopier`. Among other things, it ensures we
invoke `initializeReferences` only in `finalize`, as opposed to every
time we invoke `copyTypeInto`.
2026-04-23 13:40:43 +02:00
Alessandro Di Federico
36a1295a8f
Introduce Binary.getIdentifierBinaryReference
2026-04-23 13:40:43 +02:00
Alessandro Di Federico
eb9e82477a
Introduce WindowsApiSetSchemaParser
2026-04-23 13:40:43 +02:00
Alessandro Di Federico
f1ab2f7544
Introduce getConfigDirectory
2026-04-23 13:40:43 +02:00
Alessandro Di Federico
0385e4c652
Introduce revng::Configuration
2026-04-23 13:40:43 +02:00
Alessandro Di Federico
5417f8d880
model-schema.yml: move Type fields at the end
...
It's preferable to have one-line fields at the beginning in the YAML
representation.
2026-04-23 13:40:43 +02:00
Alessandro Di Federico
5b43a23060
BinaryIdentifier: s/.Name/.CanonicalPath/g
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
7b3a80155e
Model: introduce OperatingSystem and PlatformName
...
These are going to be used to select the correct root.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
e928664380
Introduce ImportLogger
...
`ImportLogger` is a simple support class to report on how many elements
have been imported in the model between the start and the end of its
lifetime.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
675884b5c9
Introduce sqlite::Database
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
80657806da
Introduce findPathCaseInsensitive
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
63851e2f57
Introduce IndexedVector
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
6e5462b3c9
replaceAll: return true if changes are made
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
ee9c77b719
appendTo: move to STLExtras.h
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
456595551a
YAMLTraits: improve error reporting
...
Adopt the proper mechanism for reporting errors, which include line and
column number.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
15816c7559
TupleTree.h: drop DisableTracking
...
Not needed, no tracking takes place on a non-`const` object.
2026-04-23 13:40:42 +02:00
Alessandro Di Federico
53c4c047d0
AArch64: adopt relocations with addend
...
This commit fixes a serious bug with AArch64 preventing us from detect
calls to dynamic functions.
2026-04-23 13:40:41 +02:00
Alessandro Di Federico
fd16a6afc6
TupleTreeDiff: s/detail::/revng::detail::/g
2026-04-23 13:40:41 +02:00
Alessandro Di Federico
7049f61baa
Minor changes
2026-04-23 13:40:41 +02:00
Ivan Krysak
71845dcbbb
CliftEmitC: stop using mlir::clift namespace
2026-04-22 08:19:47 +00:00
Ivan Krysak
31b2609ca3
verifyCSemantics: add a TODO
2026-04-22 08:19:35 +00:00
Ivan Krysak
2a401ceb3f
DoxygenEmitter: prevent indentation highlighting
2026-04-22 08:19:35 +00:00
Ivan Krysak
5f511d8e17
verify-against-model: split into two
...
The resulting pipes are:
1. binary-granularity one with the name unchanged
2. function-granularity one called `verify-function-against-model`.
2026-04-22 08:19:30 +00:00
Ivan Krysak
e693cdbd53
model-verify-clift -> verify-against-model
2026-04-22 08:19:30 +00:00
Ivan Krysak
3de5b009e7
Clift: introduce simple passes for header tests
2026-04-22 08:19:29 +00:00
Ivan Krysak
c5130ce689
Clift: factor common ptml pass options out
2026-04-22 08:19:28 +00:00