Alessandro Di Federico
cba1d6fa51
PDBImporter: fix .pdb path lookup
2024-08-16 13:01:57 +02:00
Andrea Gussoni
eeca8f781c
GenericGraph: introduce Undirected
...
Introduce the `Undirected` GraphTraits, which treats a `MutableEdgeNode`
`GenericGraph` as an undirected graph.
The trait uses the newly introduced `UndirectedChildIterator`, which is
a special custom iterator to get successors and predecessors
concatenated together.
Add some unit tests for `UndirectedChildIterator`.
2024-08-12 12:32:45 +02:00
Andrea Gussoni
c32a4776ab
GenericGraph: edge traits for llvm::Inverse
2024-08-12 12:32:45 +02:00
Alessandro Di Federico
024c9abda2
Step: fix use-after-free
2024-08-07 16:07:59 +02:00
Alessandro Di Federico
744184c90c
Do not use CallBase::getCalledFunction
...
Use our wrapper, which does not return nullptr if the `FunctionType`s do
not match.
2024-08-07 16:07:59 +02:00
Alessandro Di Federico
80237078e4
setMetaAddressMetadata: use MDString
2024-08-07 16:07:59 +02:00
Alessandro Di Federico
09bc315448
Pipeline: improve invalidation logging
2024-08-07 16:07:59 +02:00
Alessandro Di Federico
15d72e580d
MetaAddress::address*: simply ignore Type
2024-08-05 17:41:41 +02:00
Alessandro Di Federico
7b00473859
PDBImporter: rework .pdb search
2024-08-05 17:41:34 +02:00
Alessandro Di Federico
06023b4555
BitLivenessWrapperPass::dump
2024-07-10 16:19:26 +02:00
Alessandro Di Federico
7ddae47040
Minor changes
2024-07-10 15:34:19 +02:00
Alessandro Di Federico
3c839cb821
Pipe::mutableContainers: use running containers
2024-07-09 08:58:51 +02:00
Alessandro Di Federico
966caa4137
revng artifact: fix handling of target arguments
...
This commit adds to `revng artifact` help the part of the command line
accepting a list of targets.
Also, it fixes the parsing of targets.
2024-07-09 08:58:51 +02:00
Ivan Krysak
b900e36a68
CommonTypeMethods: introduce isAggregate
2024-06-27 11:05:52 +02:00
Ivan Krysak
0aa2ae7f08
Pipes: introduce a primitive rank
2024-06-27 11:05:52 +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
b72e2fd87b
Model: allow omission of void size
2024-06-27 11:05:52 +02:00
Ivan Krysak
9a3086694b
UpcastablePointer: do not crash on empty print
2024-06-27 11:05:52 +02:00
Ivan Krysak
fbe1416aa2
ConstexprString: add operator*
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
42c1ea30f0
Allow deserialize to be called on non-root types
2024-06-27 11:05:51 +02:00
Ivan Krysak
ffea5d9d4a
TupleTreeReference: evict cache on setting root
2024-06-27 11:05:51 +02:00
Ivan Krysak
150d992368
Pipes: rename Type rank into TypeDefinition
2024-06-27 11:05:51 +02:00
Ivan Krysak
51208789a0
Rename ThePTMLBuilder into just B
2024-06-27 11:05:51 +02:00
Ivan Krysak
776a5cdc52
Model: move path data away from the header
2024-06-27 11:05:51 +02:00
Ivan Krysak
52aa0b5942
Model: introduce filters
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
f2d12ec94a
Model: fix metadata helpers
...
Before now, when called on an non-supported type, they were just
silently doing nothing.
Also, they now correctly handle const inputs.
2024-06-27 11:05:51 +02:00
Ivan Krysak
9e0f0f72f5
RecursiveCoroutine: add operator!
2024-06-27 11:05:51 +02:00
Ivan Krysak
e2e95721cc
UpcastablePointer: add a new copy constructor
2024-06-27 11:05:51 +02:00
Ivan Krysak
3c64d9b6c8
Concepts: introduce ConstPtrIfConst
2024-06-27 11:05:51 +02:00
Ivan Krysak
e268b854cc
Concepts: introduce NonBaseDerived
2024-06-27 11:05:50 +02:00
Ivan Krysak
1f16a5bee6
KeyedObjectContainers: add erase_if
2024-06-27 11:05:50 +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
925690a1e1
VerifyHelper: reduce pointer usage
2024-06-27 11:05:50 +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
Ivan Krysak
c76f7488d2
YAMLTraits: leave kind-less pointers empty
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
d4bb646708
UpcastablePointer: improve nullptr robustness
2024-06-27 11:05:50 +02:00
Ivan Krysak
39264e73fa
Model: introduce new Type system
2024-06-27 11:05:50 +02:00
Ivan Krysak
284699967f
UpcastablePointer: introduce bool operator
...
This allows writing stuff like
```cpp
if (UpcastablePointer P = getPointerFromSomewhere())
doSomething(*P);
```
which makes it even more pointer-like.
2024-06-27 11:05:50 +02:00
Ivan Krysak
277cba213c
Model: separate verification
2024-06-27 11:05:49 +02:00
Ivan Krysak
9e6bf29f74
TTG: pull dump helper into the template
2024-06-27 11:05:49 +02:00
Ivan Krysak
927e8006b9
Model: rename TypePath to DefinitionReference
2024-06-27 11:05:49 +02:00
Ivan Krysak
087ecbc534
TypeSystemPrinter: remove unused method
2024-06-27 11:05:49 +02:00
Ivan Krysak
5ec894e117
Yield: resyncronize yield::BasicBlock
2024-06-27 11:05:49 +02:00
Ivan Krysak
8ab27800a8
EFA: remove some dead code
2024-06-27 11:05:49 +02:00
Ivan Krysak
d3a6fd8b5b
Layout: simplify aggregate return type logic
2024-06-27 11:05:49 +02:00
Ivan Krysak
edb2d11c9a
TTG: add upcastable struct field support
2024-06-27 11:05:49 +02:00