Ivan Krysak
9ebe98e5c8
PTMLIndentedOstream: rename into IndentedOstream
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
Ivan Krysak
724f8bfb59
ABI: streamline terminology
...
"packed" is used instead of "unnaturally aligned".
2024-10-08 13:53:53 +02:00
Ivan Krysak
4bdc7f83b5
ABI: drop incomplete pascal support
2024-10-08 13:53:53 +02:00
Ivan Krysak
ce11f37334
abi::Definition: move documentation out
2024-10-08 13:53:53 +02:00
Ivan Krysak
6d44a4b1c2
ABI: introduce UseStrictAggregateAlignmentRules
2024-10-08 13:53:52 +02:00
Ivan Krysak
7dfd669bde
ABI: introduce a new configuration option:
...
`StackArgumentsUseRegularStructAlignmentRules`.
2024-10-08 13:53:52 +02:00
Ivan Krysak
b20bcbe1d4
ABI: introduce BigArgumentsUsePointersToCopy
2024-10-08 13:53:52 +02:00
Ivan Krysak
99e016f120
ABI: reorganize default ABI helpers
2024-10-08 13:53:52 +02:00
Ivan Krysak
fb06320154
ABI: introduce Microsoft_AAPCS64
2024-10-08 13:53:52 +02:00
Ivan Krysak
e92c0b68bb
ABI: introduce Apple_AAPCS64
2024-10-08 13:53:52 +02:00
Ivan Krysak
e4d8ead973
ABI: make MinimumStackArgumentSize explicit
2024-10-08 13:53:52 +02:00
Ivan Krysak
d5d1a7da99
ABI: introduce ReturnValueLocationIsReturned
2024-10-08 13:53:51 +02:00
Giacomo Vercesi
f8ffe38687
Unify cache directory logic
...
Make the cache directory logic uniform in Python and C++, move the
respective implementations under support since it's project-wide logic
and not exclusive to debug-info.
2024-10-01 13:38:13 +02:00
Alessandro Di Federico
07e964478d
Invalidation deduceResults after pipe
2024-09-29 12:52:14 +02:00
Alessandro Di Federico
865ffb9892
Minor changes
2024-09-27 20:45:22 +02:00
Alessandro Di Federico
05c01e5216
Drop TargetListContainer
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
33cae7de12
Pipeline: reduce usage of Context
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
6297537486
Drop Pipe::print
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
fbf79b5d1b
Make Pipe::checkPrecondition optional
2024-09-27 12:07:18 +02:00
Alessandro Di Federico
4f1252042c
Drop TaggedFunctionPass
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
bdb5284540
Target::dump: use toString
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
42fb8455c2
Outline InvalidationMetadata::PipeWrapper
2024-09-27 12:07:17 +02:00
Alessandro Di Federico
c1cbb4e9a0
Initialize pointers to nullptr
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
baa1bd612e
Introduce recreateWithoutBody
...
Similar to moveToNewFunctionType, but doesn't move the BasicBlocks.
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
45f29c0f20
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 12:07:16 +02:00
Alessandro Di Federico
ee724aae83
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 12:07:16 +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
2fd7f06843
ZipMapIterator: handle llvm::StringMap
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
baea87f606
Pipeline: improving dump methods
2024-09-27 12:07:16 +02:00
Alessandro Di Federico
850276f5c8
Minor changes
2024-09-27 12:07:16 +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