Pietro Fezzardi
25119c4377
Drop bugged addPointerQualifier for getPointerTo
...
This commit removes the bugged addPointerQualifier helper function,
that was wrongly pushing the pointer qualifier at the end.
Instead, we now use the correct model::Binary::getPointerTo method.
2022-10-21 09:45:28 +02:00
Massimo Fioravanti
5d730d1411
Upgrade to support starless revng
2022-10-20 16:06:13 +02:00
Massimo Fioravanti
d55aa9b9e6
Pipeline: remove * from targets
...
Now * is just a pipeline frontend shorthand.
2022-10-20 14:20:12 +02:00
Giacomo Vercesi
062272a615
Fix mime types
2022-10-11 17:36:29 +02:00
Giacomo Vercesi
72050274e2
getNamedCInstance: drop declaration parameter
...
In all cases this is false
2022-10-11 17:36:29 +02:00
Giacomo Vercesi
025f6d5580
Assembly & CFG: fix MIME type
...
Change the MIME type of the assembly artifact and the svg graphs to the
new naming convention.
2022-10-11 17:11:04 +02:00
Giacomo Vercesi
677fe190be
Ranks: split TypeField
...
Split the TypeField Rank in 3 more specific ranks: StructField,
UnionField and EnumMember.
2022-10-11 17:10:46 +02:00
Ivan Krysak
b94c23cf52
Yield/ControlFlow: stop accounting for footer
2022-10-11 17:09:39 +02:00
Giacomo Vercesi
d7265ff160
PipelineC: allow signal masking
...
Some users of PipelineC might be interested in preserving
pre-existing signals, this commits adds this functionality.
2022-10-04 14:13:56 +02:00
Giacomo Vercesi
7fda1ef459
PipelineC: drop AbortHook
...
Handle crashes via signal handlers. Switch python's revng.api from
a normal python function to faulthandler, which works also in the
case of harsher interruptions (e.g. SIGABRT).
2022-10-04 14:13:56 +02:00
Massimo Fioravanti
fd66c32727
Add Container type registry
2022-10-03 14:26:06 +02:00
Massimo Fioravanti
f1852166ab
Pipeline: reworked cpp container types
2022-10-03 14:26:06 +02:00
Pietro Fezzardi
cdd6e57a27
DLA: DLATypeSystem::dropOutgoingEdges
...
This method removes all the outgoing edges starting from a given
LayoutTypeSystemNode.
2022-09-29 18:38:11 +02:00
Pietro Fezzardi
ba54ff36a6
DLA: new isStridedInstance helper
2022-09-29 18:38:11 +02:00
Pietro Fezzardi
c5236310a9
Use uint64_t only in dla::OffsetExpression
...
Before this commit we were using int64_t for Offset, Strides, and
TripCounts.
Originally, this choice was intended because for some time we envisioned
actually having a use for negative values, but in the end we decided
there's no use for those.
This commit switches all to unsigned integers, allowing to remove some
static_cast across the codebase, and overall easing typicall computation
we have to perform on those fields.
2022-09-29 18:38:11 +02:00
Massimo Fioravanti
049ba69d43
Pipeline: containers can now enumerate their kinds
2022-09-29 15:55:30 +02:00
Massimo Fioravanti
dc23473d85
Introduce Loader::getRegistered{Pipes,Analyses}
2022-09-29 15:55:16 +02:00
Massimo Fioravanti
445bc2aa8c
Pipeline: introduce registry for container types
2022-09-29 15:52:26 +02:00
Massimo Fioravanti
9363bbd70a
Pipeline: every container type has now a C++ type
2022-09-29 15:51:17 +02:00
Giacomo Vercesi
bf4122ed0a
Introduce v2 of revng-check-conventions
2022-09-29 15:21:59 +02:00
Alessandro Di Federico
02c69b0421
TemporaryFile: use RemoveFileOnSignal
2022-09-26 18:05:38 +02:00
Ivan Krysak
6724b6d9cd
revng/Yield/Pipes: streamline file naming
2022-09-26 12:10:47 +02:00
Ivan Krysak
bb37d48dad
Yield: introduce YieldCallGraphSlicePipe
2022-09-26 12:09:28 +02:00
Ivan Krysak
3cd801dbac
SVG: introduce slices-to-SVG converter
2022-09-26 12:09:03 +02:00
Ivan Krysak
63019a3850
Yield: add a Graph keyword to SVG emitters
2022-09-26 12:08:22 +02:00
Ivan Krysak
2e9269caf8
Yield: implement pipes::*::getContract in .h
2022-09-26 12:07:54 +02:00
Ivan Krysak
6638055ecf
TupleTreeCompatible: drop NotTupleTreeCompatible
2022-09-26 12:01:56 +02:00
Ivan Krysak
fd994728bd
Yield: introduce call graph slicing
2022-09-26 12:01:43 +02:00
Ivan Krysak
cf5c010a7c
Layouter: introduce simple tree specialization
2022-09-26 10:33:43 +02:00
Ivan Krysak
7e051e3a23
Layouter: improve configuration documentation
2022-09-26 10:33:43 +02:00
Pietro Fezzardi
c7105cda4d
GraphAlgorithms: generic entry point detection
2022-09-26 10:33:43 +02:00
Massimo Fioravanti
3ed1ce9902
Read-only containers: support multiple readers
2022-09-26 10:33:43 +02:00
Ivan Krysak
ed8279fe08
Pipes: introduce a call graph emitting pipe
2022-09-26 10:33:43 +02:00
Ivan Krysak
c90a49ec56
SVG Exporter: introduce call graph flavour
2022-09-26 10:33:43 +02:00
Ivan Krysak
db406a8835
PTML: introduce function links
2022-09-26 10:33:43 +02:00
Ivan Krysak
8b01cb0da1
Layouter: increase configuration options
2022-09-26 10:33:43 +02:00
Ivan Krysak
53ae25bcde
MetaAddress: improve constexpr-friendliness
2022-09-26 10:33:43 +02:00
Ivan Krysak
9e098d2c9b
GenericGraph: fix trait ordering and add inverse
2022-09-26 10:33:43 +02:00
Ivan Krysak
909042a13d
AVI: rename ::Edge to avoids name collision
2022-09-26 10:33:43 +02:00
Ivan Krysak
00dc8dd477
PTMLTag: fix addListAttribute's requires clause
2022-09-26 10:33:43 +02:00
Alessandro Di Federico
cf62e6dce7
Minor changes
2022-09-22 17:43:55 +02:00
Djordje Todorovic
5559d8431b
Introduce fix-model model pass
2022-09-21 18:37:36 +02:00
Alvise de Faveri
999df25246
Add revng model export type-graph tool
...
This tools dumps a type, a function or an entire type-system to a
dot file,representing dependencies between types as edges.
2022-09-19 08:35:06 +02:00
Pietro Fezzardi
ec9a5b0608
Use lexicographical compare for model::Qualifier
2022-09-19 08:34:20 +02:00
Pietro Fezzardi
695c1529db
dla::LayoutTypeSystem add eraseEdge method
2022-09-12 17:52:50 +02:00
Pietro Fezzardi
38e4658762
Add LayoutTypeSystem::NeighborIterator type
2022-09-12 12:28:48 +02:00
Pietro Fezzardi
3ec19a4a93
Add dla::OffsetExpression::append() static method
2022-09-12 12:14:52 +02:00
Pietro Fezzardi
fb652dedb8
Add dla::OffsetExpression::verify()
2022-09-12 12:14:52 +02:00
Pietro Fezzardi
f5ef671ecc
Enforce revng check-conventions
2022-09-12 12:14:52 +02:00
Giacomo Vercesi
d68640e2cb
upcast: use universal references
2022-09-01 17:48:00 +02:00