Commit Graph

6113 Commits

Author SHA1 Message Date
Giacomo Vercesi e651eaa072 revng ptml: update color token mapping
Update the dict that takes care of mapping PTML tokens to their color
with the updated list of PTML tokens.
2024-10-31 08:58:59 +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 7a0db383c5 A void-returning Clift function has a result 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
Lauri Vasama 8e6adb5268 Add addConst and removeConst for ValueType 2024-10-31 08:41:25 +01:00
Lauri Vasama 8a613dc9f0 Remove Clift ArrayType const
Use the qualification of the element type instead.
2024-10-31 08:41:25 +01:00
Lauri Vasama b8f0e7d99b Add missing const qualifiers in DefinedType 2024-10-31 08:41:25 +01:00
Lauri Vasama c29a71a0d9 Add colon in clift.undef assembly format 2024-10-31 08:41:25 +01:00
Lauri Vasama 6062d4a863 Fix YieldOp::verify message 2024-10-31 08:41:25 +01:00
Alessandro Di Federico 2d75b9e430 Merge branch 'feature/storage-speedup' 2024-10-30 21:58:01 +01:00
Giacomo Vercesi dd8d158e47 revng opt: make compatible with zstd
Change the `revng opt` wrapper so that when a zstd-compressed module is
passed it is decompressed on the fly and passed to llvm's opt.
2024-10-30 21:57:56 +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
Giacomo Vercesi 248e642f02 Fix tests due to module.ll format change
`module.ll` is now a zstd-compressed bitcode file. Change the tests
where it relied on the module being LLVM IR by decompressing and
disassembling the input on the fly.
2024-10-30 10:28:08 +01:00
Pietro Fezzardi a8e43b2910 [DLA] Fix removeBackedgesFromSCC DFS visit
The old version was unnecessarily convoluted, and had a bug that caused
invalid iterators to be dereferenced in some corner cases.

This commit reworks the DFS and makes it cleaner and easier to follow,
while fixing the iterator dereference bug.
2024-10-24 08:49:23 +02:00
Alessandro Di Federico bf9ef91f4e Drop revng model import binary 2024-10-16 11:46:56 +02:00
Alessandro Di Federico 48dd571500 Drop revng model dump 2024-10-16 11:44:26 +02:00
Alessandro Di Federico 892a0fc62a working-environment.md: add the Docker option 2024-10-16 10:46:31 +02:00
Pietro Fezzardi 1d4fd4687e Merge branch 'feature/ptml-c-type-builder' 2024-10-15 10:04:49 +02:00
Ivan Krysak 63a3c9cec0 PTML: move location creation to the type builder 2024-10-15 10:45:13 +03:00
Ivan Krysak 94d860e2b2 Clean up builder configuration
This also re-enables stack inlining by default.
2024-10-15 10:45:13 +03:00
Ivan Krysak 1a35cbcb77 Introduce PTMLCTypeBuilder 2024-10-15 10:45:13 +03:00
Pietro Fezzardi 3773cb6c6d Merge branch 'feature/ptml-c-type-builder' 2024-10-15 09:18:42 +02:00
Ivan Krysak f523edc863 Pipeline: toString -> locationString 2024-10-15 09:13:28 +02:00
Ivan Krysak 8aa7b55e2d PTMLIndentedOstream: rename into IndentedOstream 2024-10-15 09:13:28 +02:00
Ivan Krysak 8288bd68d2 PTMLCBuilder: rename into ptml::CBuilder 2024-10-15 09:13:28 +02:00
Ivan Krysak 0e13b20730 PTMLBuilder: rename into ptml::MarkupBuilder 2024-10-15 09:13:28 +02:00
Ivan Krysak 8dbbbd3552 Minor Improvements 2024-10-15 09:13:28 +02: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
Alessandro Di Federico 045f982a32 Improve usage of Expected<T> 2024-10-09 15:16:55 +02:00
Alessandro Di Federico 5993cee3a1 Merge branch 'feature/arm64-fixes' 2024-10-08 13:53:59 +02:00