Ivan Krysak
59ffacf61b
localCompare: mention fields as they are skipped
2025-10-13 18:33:10 +03:00
Ivan Krysak
b38185c979
Model: rewrite TTG documentation
...
Big chunks of this file were outdated or otherwise awkward,
this brings it up-to-date with the current state of the TTG.
2025-10-13 18:33:10 +03:00
Ivan Krysak
10ca432cb2
TTG: simplify reference field usage
...
This allows to avoid having to specify the `rootType` (stable within
the entire tree) manually each time a reference is introduced.
Thanks to that, a much nicer syntax of:
```yaml
- name: MyTypeField
reference-to: TypeDefinition
```
can replace the current one:
```yaml
- name: MyTypeField
reference:
pointeeType: TypeDefinition
rootType: Binary
```
2025-10-13 18:33:10 +03:00
Ivan Krysak
480443f358
TTG: drop upcastable: configuration option
...
Instead, detect whether `UpcastablePointer` wrapping is needed or not
based on the type.
2025-10-13 18:33:10 +03:00
Ivan Krysak
e9bb8c43cf
TTG: make sure emission order is stable
...
Debugging is a lot harder when you cannot just diff outputs of
the generator.
This commit ensures types are always emitted in the same order,
no matter the input schema ordering or the target language.
2025-10-13 18:33:10 +03:00
Ivan Krysak
d1fdb4d649
TTG: drop an unused global
2025-10-13 18:33:10 +03:00
Ivan Krysak
2315248938
TTG: remove a broken KOT-compatibility check
2025-10-13 18:33:10 +03:00
Ivan Krysak
38921fb85e
TTG: drop an unnecessary TODO
2025-10-13 18:33:10 +03:00
Ivan Krysak
d9ee804211
Do not use std::vector in model TTG docs
...
Currently, using `std::vector` in these breaks invalidation, so to
avoid potential confusion, we shouldn't use it in docs either.
Note that it's fine to use `std::vector` in non-invalidation-enabled
TTG instances.
2025-10-13 18:33:10 +03:00
Ivan Krysak
0dba3e0c69
Yield: improve TTG-schema formatting
2025-10-13 18:33:10 +03:00
Ivan Krysak
de6db68394
EFA: improve TTG-schema formatting
2025-10-13 18:33:10 +03:00
Ivan Krysak
95845277a9
TTG: verify given schema
2025-10-13 18:33:10 +03:00
Ivan Krysak
00ea93c99e
TTG: move metaschema.yml to share/revng/
2025-10-13 18:33:10 +03:00
Ivan Krysak
04fdc2028a
migrations: do not duplicate the template
2025-10-13 18:33:10 +03:00
Ivan Krysak
89282f31da
Minor improvements
2025-10-13 18:33:10 +03:00
Pietro Fezzardi
6b976f4fda
Merge branch 'feature/clift-directory-structure'
2025-10-13 15:31:59 +02:00
Lauri Vasama
22d6f70ee2
Clift directory structure overhaul
2025-10-13 15:08:20 +02:00
Lauri Vasama
3c191122dc
Rename Clift to CliftDialect, CliftOps to Clift
2025-10-13 15:08:20 +02:00
Alessandro Di Federico
c34aed5565
Merge branch 'feature/split-llvm-container'
2025-10-13 10:44:35 +02:00
Ivan Krysak
256d2310b0
DwarfImporter: drop an unnecessary check
2025-10-13 10:26:41 +03:00
Ivan Krysak
df681aa573
Ensure consumed errors are printed somewhere
2025-10-13 10:26:41 +03:00
Ivan Krysak
25538385c8
Avoid using !! unless necessary
...
The only necessary place is when passing it into the `BOOST_TEST`
macro, which doesn't convert its argument to `bool` internally.
2025-10-13 10:26:41 +03:00
Ivan Krysak
a8e326f4d7
UpcastablePointer: improve documentation
2025-10-13 10:26:41 +03:00
Ivan Krysak
e56f543b1a
Split module.bc.zstd
2025-10-13 10:26:41 +03:00
Ivan Krysak
fa24a51b05
Don't ignore TargetRegistry::lookupTarget output
2025-10-13 10:26:41 +03:00
Ivan Krysak
9bf93d3a30
Importers: add TODOs on diagnostic candidates
2025-10-13 10:26:41 +03:00
Ivan Krysak
16985c37ea
Add comments clarifying error-related behavior
2025-10-13 10:26:41 +03:00
Ivan Krysak
ed53e759c9
Do not use -Y flag
...
Yaml model are now the _only_ way to store them, no point in still
specifying the old flag for it.
2025-10-13 10:26:41 +03:00
Ivan Krysak
5717d835f8
Add missing llvm::Error checks
2025-10-13 10:26:37 +03:00
Ivan Krysak
c11761ceb5
Pipes: drop unused invalidateFromDiff
2025-10-08 12:22:34 +03:00
Ivan Krysak
68d62428d8
Lift: drop free loadBinary function
2025-10-08 12:22:34 +03:00
Ivan Krysak
d3bae70ba4
TupleTreeDiff: drop an unused overload
2025-10-08 12:22:34 +03:00
Ivan Krysak
0d9ea6db18
Inspector: drop a no-op llvm::consumeError
2025-10-08 12:22:34 +03:00
Ivan Krysak
dadd836035
MetaAddress: assert validity
2025-10-08 12:22:34 +03:00
Ivan Krysak
e6d30936f3
Avoid llvm::ExitOnError in non-tool binaries
2025-10-08 12:22:34 +03:00
Ivan Krysak
745b461568
Tools: use llvm::ExitOnError
2025-10-08 12:22:34 +03:00
Ivan Krysak
a88747cf99
Drop unused includes
2025-10-08 12:22:34 +03:00
Ivan Krysak
d1fbf2eee6
Model: Drop ToolHelpers.h
2025-10-08 12:22:34 +03:00
Ivan Krysak
b6cb5c2ca3
UpcastablePointer: drop llvm::Error overload
2025-10-08 12:22:34 +03:00
Ivan Krysak
d51ade0243
check-commit: add work-in-progress checks
2025-10-08 12:22:34 +03:00
Ivan Krysak
ca712608f1
check-commit: more explicit error message
2025-10-08 12:22:34 +03:00
Ivan Krysak
77ea07c364
Minor improvements
2025-10-08 12:22:30 +03:00
Giacomo Vercesi
6d1fbdca97
Implement infrastructure for PipeRuns
...
Add the needed infrastructures that allow ephemeral classes (`PipeRun`s)
to be wrapped as a regular pypeline `Pipe` class. These automatically
have their dependencies tracked and propagated to the pypeline.
2025-10-03 17:40:45 +02:00
Alessandro Di Federico
7783c0484a
AVI: sort entry points by dominance
...
This commit a non-deterministic bug on ARM's switch-disjoint-ranges
test.
The problem was that we were setting as initial nodes of the monotone
framework all the nodes that are not reachable from the nodes classified
as initial nodes *so far*.
This approach is susceptible to the visit order.
Classifying certain nodes as entry nodes degrades the analysis results
since we associates a top value to them.
Electing initial nodes by traversing a list of nodes sorted by dominance
solves this problem.
2025-10-02 14:32:17 +02:00
Pietro Fezzardi
5d6bddf845
Merge branch 'feature/model-agnostic-clift'
2025-09-30 16:25:17 +02:00
Lauri Vasama
676fdfe0f5
Split common parts of Clift backend into new class
...
CEmitter contains utilities for emitting types, attributes and
declarations. These will be useful for generating headers from Clift.
2025-09-29 18:05:55 +03:00
Lauri Vasama
7fab96f119
Add dumpMlirModule for debugging
2025-09-29 18:05:55 +03:00
Lauri Vasama
110fb23d58
Improve Clift backend string literal test
2025-09-29 18:05:55 +03:00
Lauri Vasama
18773ba22c
Add Clift declaration attribute support
2025-09-29 18:05:55 +03:00
Lauri Vasama
cd48916c8d
Convert Clift backend tests to use clift-opt
2025-09-29 18:05:55 +03:00