Khaled Ismaeel
9d80594ddc
Bump model version to v3
2025-04-30 15:08:45 +02:00
Khaled Ismaeel
030becfeba
Adapt the build to the new schema version field
...
This is a followup to the commit where we introduced the `version`
field in the schema YAML.
2025-04-30 15:08:45 +02:00
Khaled Ismaeel
531d9b866c
Remove the now-redundant HEADERS list
2025-04-30 15:08:45 +02:00
Khaled Ismaeel
63469c9cd6
Use unified YAML schemas in the build process
...
In this commit we instruct the build system to use the unified schema
files instead of collecting the `TUPLE-TREE-YAML` comments.
The fixes to C++ files are necessary because they depend on the order
of the fields in the schema, which was changed.
2025-04-30 15:08:45 +02:00
Ivan Krysak
79964eac74
Avoid ' misuse in error messages and comments
2025-04-17 16:41:21 +02:00
Ivan Krysak
c6e38cd485
Return to using constant name builders
...
Because of how name builders used to lazy gather namespaces on the first
requested name, the objects were self mutating. As such only non-const
references could be used to pass them around.
Since that is no longer the case, this restores most of lost const
qualifiers.
2025-04-17 11:19:17 +03:00
Ivan Krysak
57b5eb7f98
NameBuilder: allow different name checkers
2025-04-17 11:19:17 +03:00
Ivan Krysak
645cf7fc2e
NameBuilder: sunset deduplication
...
This reworks NameBuilder to ease the transition to the system where
the model will be guaranteed to never contain any name collisions, both
between user-specified names and the automatic ones.
2025-04-15 16:35:42 +03:00
Ivan Krysak
4bdba0263e
Yield: fix call graph node height being set to 0
2025-03-04 13:34:51 +02:00
Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Ivan Krysak
f494ae5f5f
Standardize comment formatting
...
Use `*something*` instead of `_something_` when adding emphasis.
2025-02-13 13:09:50 +02:00
Ivan Krysak
492e5dc354
Yield: greatly simplify node size calculation
2025-02-13 13:09:50 +02:00
Ivan Krysak
bd68130eaa
Yield: adopt CommentLineWidth
2025-02-13 13:09:50 +02:00
Ivan Krysak
de7d13c7d7
Yield: adopt statement comments in disassembly
2025-02-13 13:09:50 +02:00
Ivan Krysak
3ec854421b
Yield: separate prefix size computation
2025-02-13 13:09:50 +02:00
Ivan Krysak
8841bc7144
Don't include model::NameBuilder from the binary
2025-02-13 13:09:50 +02:00
Ivan Krysak
288448f009
Never include model::VerifyHelper from headers
2025-02-13 13:09:50 +02:00
Ivan Krysak
672ee5df50
Replace std::string_view with llvm::StringRef
2024-11-06 15:43:13 +02:00
Ivan Krysak
a67ba96644
Adopt name builder across the model users
2024-11-06 15:43:13 +02:00
Ivan Krysak
a12f5d9e97
Minor improvements
2024-11-04 18:51:12 +02:00
Alessandro Di Federico
f9fad18cb4
EFA, Yield: handle blockless functions
2024-10-31 17:19:51 +01:00
Ivan Krysak
43f0304cb2
Pipeline: toString -> locationString
2024-10-15 09:12:55 +02:00
Ivan Krysak
ec19b26ee9
PTMLBuilder: rename into ptml::MarkupBuilder
2024-10-15 09:12:55 +02:00
Alessandro Di Federico
a0c670652c
Improve usages of Expected<T>
2024-10-10 14:50:26 +02:00
Alessandro Di Federico
fbf79b5d1b
Make Pipe::checkPrecondition optional
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
bc064244d6
s/deserialize/fromString/g
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
c8d4381297
s/Context &Ctx/Context &Context/g
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
9bdce8e5c4
s/ExecutionContext &Ctx/ExecutionContext &EC/g
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
12a0a89e15
Ensure every pipe commits what it should
...
This commit is the final step in ensuring all the pipes commit what they
should. It also asserts this actually happens, enabling us to easily
catch future problems.
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
850276f5c8
Minor changes
2024-09-27 12:07:16 +02:00
Ivan Krysak
51208789a0
Rename ThePTMLBuilder into just B
2024-06-27 11:05:51 +02:00
Ivan Krysak
9e6bf29f74
TTG: pull dump helper into the template
2024-06-27 11:05:49 +02:00
Alessandro Di Federico
b62bc8df91
s/FunctionMetadata/ControlFlowGraph/g
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
276a6e0efb
s|ControlFlowGraph.h|CFGHelpers.h|g
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
6e49fed965
FunctionMetadata::{ControlFlowGraph,Blocks}
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
553d869d03
Drop Pipe::print method
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
148e6b1979
Rename all LLVMContainer arguments
2024-06-20 10:24:51 +02:00
Alessandro Di Federico
bce1d6c0f3
Adopt invalidation along the core pipeline
2024-06-20 10:24:50 +02:00
Alessandro Di Federico
b0d897b87d
Minor changes
2024-06-20 10:24:49 +02:00
Alessandro Di Federico
c061f1f971
Make Pipe::checkPrecondition mandatory
2024-05-22 10:25:25 +02:00
Ivan Krysak
f2ab83489c
Yield: fix missing delay slots
...
When converting to PTML half of the delay slot logic
2024-03-18 11:40:32 +00:00
Ivan Krysak
44e5328477
Yield: add explicit directive support
2024-03-18 11:40:32 +00:00
Ivan Krysak
346cb498d3
Yield: make disassembly output objdump-like
2024-03-18 11:02:21 +00:00
Ivan Krysak
77fb7e6e5b
Yield: introduce BasicBlockPrefix option
2024-03-18 10:58:55 +00:00
Ivan Krysak
e5328290c6
Yield: reorder disassembly processing
...
This commit moves stuff around to enforce complete information being
present by the time the "Internal" assembly output is ready.
Because of that, the "Internal" format needed to change, now it uses
tag representation close to PTML as opposed to the one close to LLVM's
used before now.
2024-03-18 10:58:52 +00:00
Ivan Krysak
948d905752
Add PrintFullMetaAddress configuration option
2024-03-18 11:58:11 +01:00
Ivan Krysak
4d7785f0bb
Yield: remove unused 'plain' assembly style
...
When needed similar results can be achieved using `GenerateTagLessPTML`
option of the `PTMLBuilder`.
2024-03-18 11:58:11 +01:00
Ivan Krysak
67c4a65122
Minor improvements
2024-03-18 11:58:11 +01:00
Ivan Krysak
2bffccaaf6
Move ImmediateStyle configuration to the model
2024-03-18 11:58:11 +01:00