Ivan Krysak
c122118e07
TLT: add a TODO
2026-06-15 17:28:22 +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
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
Giacomo Vercesi
6ec9f9a952
TupleTree: overhaul reference caching
...
Overhaul the logic and method names involved in enabling and disabling
reference caching in `TupleTree<T>`. `TupleTreeReference<T, U>` now
lazily caches the target and will traverse the path only when needed.
Also expose and use these functions in the new pipeline, which should
provide some speedup when executing a `Schedule`.
2026-03-04 14:58:02 +01:00
Giacomo Vercesi
1193b6ef34
TupleTree: upgrade Version: 0
...
When a `TupleTree` is deserialized, if it has the `Version` field set to
0 upgrade it automatically to the `SchemaVersion`.
2026-03-04 14:58:02 +01:00
Alessandro Di Federico
c883bed765
Drop Logger's StaticEnabled feature
2025-10-31 17:25:03 +01:00
Alessandro Di Federico
0d5e05688d
collectTuple: add non-recursive implementation
2025-10-29 15:10:18 +01:00
Alessandro Di Federico
dfbe005307
ReadFields: switch to vectors
2025-10-29 15:10:18 +01:00
Alessandro Di Federico
46a0af46c8
TupleTree visits: improve handling of upcast
2025-10-29 15:10:18 +01:00
Alessandro Di Federico
c9e7ba7943
TupleTree visits: bypass access tracking
...
Use non-`const` version to bypass tracking.
2025-10-28 09:18:27 +01:00
Alessandro Di Federico
db8eb227b9
TupleTreePath: rewrite with TraitfulAny
2025-10-28 09:18:27 +01:00
Alessandro Di Federico
97415b5ffe
TupleTree visits: fix handling of upcast
...
We now suspend tracking before calling `.upcast`.
2025-10-24 18:24:25 +02:00
Giacomo Vercesi
40da49548b
Add Binaries list to the model
...
Add to the model an entry detailing the list of input binaries under
`Binaries`. This will be referenced by `Segments` when needed.
2025-10-16 17:48:45 +02:00
Ivan Krysak
d3bae70ba4
TupleTreeDiff: drop an unused overload
2025-10-08 12:22:34 +03:00
Giacomo Vercesi
d63bba17c6
Implement LLMRenameAnalysis
...
Implement an analysis in revng which allows renaming the variables of a
C function via an LLM.
2025-05-06 09:59:46 +02:00
Giacomo Vercesi
9ff471409e
Remove some asserts from YAMLTraits
...
More soft-fails instead.
2025-04-28 12:58:27 +02:00
Ivan Krysak
79964eac74
Avoid ' misuse in error messages and comments
2025-04-17 16:41:21 +02:00
Ivan Krysak
b354f1b75b
TupleTree: allow visiting upcastable pointers
2025-04-15 16:35:42 +03:00
Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Ivan Krysak
672ee5df50
Replace std::string_view with llvm::StringRef
2024-11-06 15:43:13 +02:00
Ivan Krysak
1eb80ecd2d
Introduce an error creation helper
2024-11-06 15:20:37 +02:00
Alessandro Di Federico
a0c670652c
Improve usages of Expected<T>
2024-10-10 14:50:26 +02:00
Alessandro Di Federico
bc064244d6
s/deserialize/fromString/g
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
c1cbb4e9a0
Initialize pointers to nullptr
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
2cdedc71f4
s/serialize/toString/
...
We keep serialize for method dealing with streams.
If it returns a `std::string`, let's use `toString`.
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
baea87f606
Pipeline: improving dump methods
2024-09-27 12:07:16 +02:00
Ivan Krysak
cd2fdafc45
TupleTree: never assign root directly
...
This prevented expected cache invalidation when a new root was
assigned.
2024-06-27 11:05:52 +02:00
Ivan Krysak
4a2db0ba4f
UpcastablePointer: streamline empty behavior
2024-06-27 11:05:52 +02:00
Ivan Krysak
ffea5d9d4a
TupleTreeReference: evict cache on setting root
2024-06-27 11:05:51 +02:00
Ivan Krysak
dfa7478685
Adopt reworked model::Type
2024-06-27 11:05:51 +02:00
Ivan Krysak
73c43add70
TupleTree: revamp the visitors
2024-06-27 11:05:50 +02:00
Ivan Krysak
6628cbe1b8
TupleTree: drop an unused argument
2024-06-27 11:05:50 +02:00
Ivan Krysak
72346979e2
TupleTree: improve nullptr robustness
2024-06-27 11:05:50 +02:00
Ivan Krysak
edb2d11c9a
TTG: add upcastable struct field support
2024-06-27 11:05:49 +02:00
Ivan Krysak
48ace7c147
TTG: reorder early struct template
...
This heavily improves readability of the generated header.
2024-06-27 11:05:49 +02:00
Ivan Krysak
6a1018b860
Remove unused linter suppressors
2024-06-27 11:05:48 +02:00
Ivan Krysak
ac587cbb4f
Model: rename Type into TypeDefinition
2024-06-27 11:05:48 +02:00
Alessandro Di Federico
f60c1bb4ad
s/TrackGuard/DisableTracking/
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
b5f7576573
Rework TupleTreeGenerator tracking
2024-06-20 10:24:50 +02:00
Alessandro Di Federico
b0d897b87d
Minor changes
2024-06-20 10:24:49 +02:00
Massimo Fioravanti
f783868dde
Model: adopt tryGet instead of find() != end()
2024-06-20 09:57:36 +02:00
Massimo Fioravanti
43349943a7
Stop serializing the model in the IR
2024-06-20 09:57:36 +02:00
Alessandro Di Federico
bf6cefc05a
Externalize functions to improve build times
2024-05-03 21:52:40 +02:00
Massimo Fioravanti
c276a439b5
Add pipeline invalidation
...
Replace the stub implementation of invalidation with the proper
implementation. A ReadPathCache is added to each global so that it can
keep tracks of what target are associated to which read paths.
2024-01-02 11:14:56 +01:00
Massimo Fioravanti
643d96698d
Preliminaries for pipeline invalidation
...
Fix various bugs already present in the codebase.
2024-01-02 11:06:48 +01:00
Giacomo Vercesi
0cb3e497a4
Fix typos
2023-11-02 16:48:33 +01:00
Alessandro Di Federico
d8147aa62e
Introduce TupleTreeReference::dump
2023-10-05 10:19:44 +02:00
Alessandro Di Federico
c6425b2618
TupleTree::verify: more fine grained assertions
2023-10-05 10:19:44 +02:00
Giacomo Vercesi
d2967d2a49
Tuple Tree Generator: remove Model headers
...
This commit removes the inclusion of the `Binary.h` header in
Tuple-Tree Generator files, allowing Model-independent Tuple Trees to be
generated.
2023-09-14 15:44:32 +02:00