Ivan Krysak
6a6b34b831
Introduce a general static registry helper
2025-04-17 11:19:17 +03:00
Ivan Krysak
acb7d595ef
Model: introduce a primitive typedef removal pass
2025-04-17 11:19:17 +03:00
Ivan Krysak
cf78106d54
Model: introduce a name deduplication pass
2025-04-17 11:19:17 +03:00
Ivan Krysak
f070f1f1e1
Model: sunset double name system
2025-04-17 11:19:17 +03:00
Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Ivan Krysak
dfa7478685
Adopt reworked model::Type
2024-06-27 11:05:51 +02:00
Ivan Krysak
b6625e8913
Model: simplify fixModel pass
...
Instead of getting reimplemented/updated, it now just reuses normal
type verification routines.
2024-06-27 11:05:50 +02:00
Alessandro Di Federico
d9367954a4
Convert all public strings to kebab-case
2024-02-09 10:04:24 +01: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
Alessandro Di Federico
10dcb7be11
Fix semantics of model::Types purging passes
...
One of the two passes to purge unused types from the model had a
ill-defined semantics.
This commit simplifies them in two passes: one that purges all the types
unreachable from outside `Binary::Types` and one that does the same but
also preserves types with a `CustomName` or an `OriginalName`.
2023-12-05 16:19:39 +01:00
Ivan Krysak
4d21a88777
Model: remove an obsolete function conversion pass
2023-03-15 10:19:03 +01:00
Ivan Krysak
3687869795
Model: make AddPrimitiveTypes a pure analysis
2023-03-15 10:19:01 +01:00
Djordje Todorovic
961f9e5461
Model: search debug info locally upon import
...
Also find prototypes in Models of dynamic libs for both PE and ELF.
2022-12-13 11:26:54 +01:00
Massimo Fioravanti
742e1a0c56
TupleTree: switch from public fields to accessors
2022-12-12 18:36:57 +01:00
Massimo Fioravanti
9363bbd70a
Pipeline: every container type has now a C++ type
2022-09-29 15:51:17 +02:00
Djordje Todorovic
5559d8431b
Introduce fix-model model pass
2022-09-21 18:37:36 +02:00
Massimo Fioravanti
633f49c1ef
Introduce dedicated namespace for kinds and ranks
2022-08-29 14:44:53 +02:00
Massimo Fioravanti
915c083661
Pipes: reorganize who defines pipes
2022-08-29 14:44:35 +02:00
Djordje Todorovic
1243d1061c
Introduce revng model hard-purge
...
In addition, introduce a new model Pass:
revng model opt -prune-unsused-types
2022-07-28 15:02:55 +02:00
Pietro Fezzardi
7f65b1117a
New AddPrimitiveTypesPipe
...
This pipe is executed during the Lift step and populates the model with
all the required primitive types.
2022-04-12 16:40:27 +02:00
Ivan Krysak
8d876b0def
ABI: introduce bulk function conversion
2022-02-14 13:35:37 +01:00
Ivan Krysak
e20e65ca9a
Require a description when registering a pass
2022-02-14 13:35:36 +01:00
Alessandro Di Federico
91fd04079a
AllPasses.h: include Verify.h
2022-02-07 20:11:15 +01:00
Alessandro Di Federico
a353e00ac1
Introduce model passes
2022-01-31 16:28:14 +01:00