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
Giacomo Vercesi
8e65716ad8
Use zstd compression in pipeline
...
Use the zstd compression for:
* The `LLVMContainer` when serializing
* The invalidation cache when writing to disk
2024-10-30 21:57:55 +01:00
Giacomo Vercesi
3fc9bbf8fc
Uniform GzipStream
...
Uniform the functions/classes in GzipStream with the ones in ZstdStream.
2024-10-30 21:57:55 +01:00
Giacomo Vercesi
5b200df81a
Implement ZstdStream
...
Implement the `zstdCompress` and `zstdDecompress` functions. Also
implement the `ZstdCompressedOstream` which is a `llvm::raw_ostream`
which compresses data on the fly.
2024-10-30 21:57:55 +01:00
Alessandro Di Federico
9c47c92af2
Target::PathComponents: use SmallVector<1>
2024-10-30 19:30:04 +01:00
Alessandro Di Federico
e9e9a958e6
PathTargetBimap: drop ReverseMap
2024-10-30 17:54:48 +01:00
Ivan Krysak
99e966f6e8
ptml::TagBuilder: rename GenerateTagLessPTML
...
The new name is `IsInTaglessMode`.
This also makes it public, since their no point of keeping a const
option private.
2024-10-15 09:12:55 +02:00
Ivan Krysak
43f0304cb2
Pipeline: toString -> locationString
2024-10-15 09:12:55 +02:00
Ivan Krysak
c057ba335e
ptml::IndentedOstream: accept a builder reference
...
This avoids the need to have duplicated builders in cases were we
already have one at the cost of always having to manually create one.
2024-10-15 09:12:55 +02:00
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