Alessandro Di Federico
aeeae32e64
Drop TargetListContainer
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
1b6001682b
Pipeline: reduce usage of Context
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
1b714e5e99
Drop Pipe::print
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
3bb6c2e019
Make Pipe::checkPrecondition optional
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
77ba667ddd
Drop TaggedFunctionPass
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
f66afa3cae
s/deserialize/fromString/g
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
cc33185d6c
Target::dump: use toString
2024-09-27 10:33:28 +02:00
Alessandro Di Federico
b8cccd9673
Outline InvalidationMetadata::PipeWrapper
2024-09-27 10:33:27 +02:00
Alessandro Di Federico
43bfcb6d7b
Initialize pointers to nullptr
2024-09-27 10:33:27 +02:00
Alessandro Di Federico
274925268e
s/serialize/toString/
...
We keep serialize for method dealing with streams.
If it returns a `std::string`, let's use `toString`.
2024-09-27 10:33:27 +02:00
Alessandro Di Federico
a3755c2dd6
s/Context &Ctx/Context &Context/g
2024-09-27 10:33:27 +02:00
Alessandro Di Federico
606612de40
s/ExecutionContext &Ctx/ExecutionContext &EC/g
2024-09-27 10:33:27 +02:00
Alessandro Di Federico
bc8af9203b
Introduce recreateWithoutBody
...
Similar to moveToNewFunctionType, but doesn't move the BasicBlocks.
2024-09-27 10:33:27 +02:00
Alessandro Di Federico
f11779a248
FunctionPassImpl: getAnalysis for functions
...
`pipeline::FunctionPass` is actually a ModulePass, therefore, in order
to use `getAnalysis` on a pass running with function granularity, we
need to use the `getAnalysis` overload accepting a `llvm::Function`.
2024-09-27 10:33:26 +02:00
Alessandro Di Federico
ce7a3bb556
Make pipe names dynamic
...
This enables us to have the list of passes in the `generic-llvm-pipe`
name, which would be otherwise carrying poor information.
2024-09-27 10:33:26 +02:00
Alessandro Di Federico
a87c7a3d21
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 10:33:26 +02:00
Alessandro Di Federico
8113986007
ZipMapIterator: handle llvm::StringMap
2024-09-27 10:33:26 +02:00
Alessandro Di Federico
9481497b2d
Pipeline: improving dump methods
2024-09-27 10:33:26 +02:00
Alessandro Di Federico
660b3a18f2
Minor changes
2024-09-27 10:33:26 +02:00
Andrea Gussoni
70734496f3
GenericGraph: remove Undirected
...
Remove the `Undirected` `GraphTraits`
2024-09-20 16:08:50 +02:00
Ivan Krysak
8f41b0017e
Model: fix failure to parse void
2024-08-30 14:40:09 +02:00
Alessandro Di Federico
7b2f02c519
DisassemblyHelper: default initialize struct
2024-08-23 15:01:29 +02:00
Ivan Krysak
df4bf51c75
ABI: improve the type filtering helper
...
It now supports specifying a list of types to ignore.
2024-08-16 16:33:39 +02:00
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