Alessandro Di Federico
8cd4ee3b59
Move Kinds.h to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
98903f6b07
Move Ranks.h to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
4e670ac8e6
Either link revngcSupport or revngSupport
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
253558ba63
Minor changes
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
89f828c694
Link some revng libraries
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
2e4f4d09b9
Remaining FunctionTags have been moved to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
e239e18b0c
Adopt FunctionPoolTag
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
800340d6e8
IRHelpers.cpp has been moved to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
2ed940dc3a
FunctionTags have been moved to revng
2024-11-04 15:09:56 +01:00
Alessandro Di Federico
36e2faad3d
Introduce -Wunreachable-code-break
2024-10-31 17:19:55 +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
26adce6182
Add isLvalueExpression on ExpressionOpInterface
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
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
6062d4a863
Fix YieldOp::verify message
2024-10-31 08:41:25 +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
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
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
Alessandro Di Federico
045f982a32
Improve usage of Expected<T>
2024-10-09 15:16:55 +02:00
Alessandro Di Federico
a1889b77b3
s/(LLVMContainer &)TargetsList/\1ModuleContainer/
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
19d033958e
Drop TargetListContainer
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
5d0d4005c5
s/Ctxt?/Context/g
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
8a5ae5f9c1
s/ExecutionContext &Ctx/ExecutionContext &EC/g
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
8706fd8459
Initialize pointers to nullptr
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
9c99ac33ac
s/serializeToLLVMString/toLLVMString/
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
08e1dc0f05
Drop no-op Pipe::checkPrecondition
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
4653796008
Drop Pipe::print
2024-09-27 10:35:10 +02:00
Alessandro Di Federico
ca99bbbb66
Adopt toString()
2024-09-26 17:51:08 +02:00
Alessandro Di Federico
e1f46264f8
Ensure every pipe commits what it should
2024-09-26 17:51:07 +02:00
Alessandro Di Federico
835a00d80c
Minor changes
2024-09-25 10:00:22 +02:00
Andrea Gussoni
5849deee50
Remove CycleEquivalenceInfo
2024-09-20 21:06:46 +02:00
Andrea Gussoni
76cb852c28
Implement GenericRegionInfo
...
We implement the `GenericRegionInfo` analysis.
The analysis accepts a template parameter which enables to run it on
every graph which exposes `llvm::GraphTraits`.
The `GenericRegionPass` is responsible for instantiating and running the
analysis on a `llvm::Function`.
The `GenericRegionInfo` analysis uses, and takes insipiration from the
`GenericCycleInfo` LLVM analysis.
The analysis exposes a tree of well nested `GenericRegion`s, which are
constructed starting from the well nested tree of `GenericCycle`s.
In addition, we perform the election of the `Head` of each
`GenericRegion`, and the election of the retreating edges.
2024-09-19 18:11:19 +02:00
Ivan Krysak
b4a6682a3e
OperatorPrecedence: introduce forced parentheses
2024-09-10 11:49:42 +03:00
Ivan Krysak
5666b063cc
OperatorPrecedence: handle logical or and and
2024-09-10 11:49:42 +03:00
Ivan Krysak
17cc3e497f
OperatorPrecedence: rework precedence encoding
2024-09-10 11:49:42 +03:00
Ivan Krysak
d5c7365f4f
OperatorPrecedence: switch to cppreference scale
2024-09-05 10:18:55 +03:00
Ivan Krysak
a8b5ebdd95
import-from-c: rework testing from the ground up
2024-09-04 16:55:49 +02:00
Pietro Fezzardi
4d845c5cdb
HeaderToModel: drop unused Logger
2024-09-04 16:55:49 +02:00
Pietro Fezzardi
4e2617f4c5
HeaderToModel: fix double parsing of enums
2024-09-04 16:55:48 +02:00
Ivan Krysak
d36e50e0d1
HeaderToModel: switch to the new annotation system
2024-09-04 16:44:23 +02:00