Commit Graph

819 Commits

Author SHA1 Message Date
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 f544a39195 Move STLExtras.h to revng 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 fdd0d6d06c CMakeLists.txt: reduce revng differences 2024-11-04 15:09:56 +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 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
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
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
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 77c8e4b927 PTML: move annotation data to a new header 2024-09-04 16:43:57 +02:00
Ivan Krysak 7b00b85647 PTMLCBuilder: introduce a code tag annotation 2024-09-04 13:04:44 +03:00
Ivan Krysak 2c9c780a3d PTMLCBuilder: introduce a _SIZE annotation 2024-09-04 13:04:44 +03:00
Ivan Krysak 4a080cae0c PTMLCBuilder: introduce a _START_AT annotation 2024-09-04 13:04:44 +03:00
Ivan Krysak cae04be8fd PTMLCBuilder: clean up annotation method naming 2024-09-04 13:04:44 +03:00