Alessandro Di Federico
ade0603d3f
Add docs for artifacts and analyses
2024-12-11 16:15:10 +01:00
Alessandro Di Federico
d2d32b304e
Model: improve documentation
2024-12-11 16:15:09 +01:00
Alessandro Di Federico
5b7703aff3
Minor changes
2024-12-11 16:15:09 +01:00
Andrea Gussoni
fa69bd24e5
ScopeGraph: introduce the ScopeGraph
...
Introduce the `ScopeCloser` and `GotoTarget` annotations in the IR, and
the relative necessary machinery, needed to handle scope closer and goto
edges for the new backend.
A specialization of the `llvm::GraphTraits`, called `ScopeGraph`, that
is able to handle both the above mentioned annotations is provided.
For the `llvm::GraphTraits` implementation, we introduce the
`GeneratorIterator` class, which uses a coroutine to store the status of
the iteration.
A debug logger pass is added, so that we are able to test the
functionality with `FileCheck`.
2024-12-05 15:43:57 +01:00
Alessandro Di Federico
cfcbd3e5f9
Introduce model::Register::canonicalArchitecture
...
This commit fixes the fact that mipsel had apparently no registers due
to the fact that its registers were associated to mips.
2024-12-04 09:45:37 +01:00
Alessandro Di Federico
035e8e99a2
Minor changes
2024-12-03 12:12:44 +01:00
Alessandro Di Federico
832840c307
Importers: ignore unmapped code
...
This commit ensures that parts of the model that must point to code
(specifically `Binary::EntryPoint`, `Binary::ExtraCodeAddresses` and
`Function::Entry`) actually point to a segment mapped as +x.
2024-11-28 15:22:10 +01:00
Alessandro Di Federico
686083bdab
Remove mentions to revng-c
2024-11-21 15:54:23 +01:00
Alessandro Di Federico
143c315196
Merge revng-c into revng
2024-11-21 10:50:55 +01:00
Ivan Krysak
64446d0453
Adopt name builder across the model users
2024-11-06 19:18:53 +02:00
Ivan Krysak
672ee5df50
Replace std::string_view with llvm::StringRef
2024-11-06 15:43:13 +02:00
Ivan Krysak
8e3c9c0788
Model: remove obsolete name methods
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
2a5d50630b
Model: adopt name builder in verification
2024-11-06 15:43:13 +02:00
Ivan Krysak
2be6f4aebb
TypeSystemPrinter: adopt name builder
2024-11-06 15:43:13 +02:00
Ivan Krysak
ad868f57ad
Model: introduce name builder
2024-11-06 15:43:13 +02:00
Ivan Krysak
c101770c72
ModelTypeTests: pass the binary to the verifier
2024-11-06 15:42:44 +02:00
Ivan Krysak
0a3628e6fe
Model: introduce naming configuration
2024-11-06 15:42:44 +02:00
Ivan Krysak
1eb80ecd2d
Introduce an error creation helper
2024-11-06 15:20:37 +02:00
Ivan Krysak
a12f5d9e97
Minor improvements
2024-11-04 18:51:12 +02:00
Alessandro Di Federico
8cd4ee3b59
Move Kinds.h to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
98903f6b07
Move Ranks.h to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
f544a39195
Move STLExtras.h to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
2e4f4d09b9
Remaining FunctionTags have been moved to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
e239e18b0c
Adopt FunctionPoolTag
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
800340d6e8
IRHelpers.cpp has been moved to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
2ed940dc3a
FunctionTags have been moved to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
fdd0d6d06c
CMakeLists.txt: reduce revng differences
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
f9fad18cb4
EFA, Yield: handle blockless functions
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
bd84bd7f2e
Rework --analyze and --analyses-list
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
8e6942451e
Import revng-c's Kinds.h
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
d633b414e1
Import revng-c's Ranks.h
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
ac31e804fe
Import revng-c's STLExtras.h
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
16e01f43d6
Import revng-c's FunctionTags.h
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
d72f6413f0
Import revng-c's Support/IRHelpers.h
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
36c344fc62
OpaqueFunctionsPool: improve assertion
2024-10-31 17:19:51 +01:00
Alessandro Di Federico
c97438c5e4
DynamicHierarchy: ensure we call init last
2024-10-31 17:19:51 +01:00
Lauri Vasama
2d2fe890fb
Add Clift expression operations
2024-10-31 08:41:25 +01:00
Lauri Vasama
4338607257
Add Clift operand type parser
2024-10-31 08:41:25 +01:00
Lauri Vasama
eb20e745a3
Add Clift op type constraints
2024-10-31 08:41:25 +01:00
Lauri Vasama
ecf4869473
Move CliftTypeHelpers.h functions to CliftType.h
...
Also added some new type functions.
2024-10-31 08:41:25 +01:00
Lauri Vasama
ac013efb1d
Improve Clift op constraint formatting
2024-10-31 08:41:25 +01:00
Lauri Vasama
3e0b0d3fd7
Add Clift_ExpressionOp class
2024-10-31 08:41:25 +01:00
Lauri Vasama
26adce6182
Add isLvalueExpression on ExpressionOpInterface
2024-10-31 08:41:25 +01:00
Lauri Vasama
9479086bc4
Improve CliftTypes.td formatting
2024-10-31 08:41:25 +01:00
Lauri Vasama
e1b55fd5c3
Add custom assembly format for Clift FunctionOp
2024-10-31 08:41:25 +01:00
Lauri Vasama
2350f91c48
Use symbol attribute for GlobalVariableOp
2024-10-31 08:41:25 +01:00
Lauri Vasama
596244a5a2
Add NoTerminator trait to Clift_Op
2024-10-31 08:41:25 +01:00
Lauri Vasama
5385ea7e7f
Add result for LocalVariableOp
2024-10-31 08:41:25 +01:00
Lauri Vasama
8dc04776a6
Add Clift_StatementOp class
2024-10-31 08:41:25 +01:00