Commit Graph

669 Commits

Author SHA1 Message Date
Alessandro Di Federico e2d9c50cf5 tmp 2022-11-15 16:46:41 +01:00
Giacomo Vercesi 7526d72492 Kinds: exposed locations produced
Expose the locations that can be found in each kind
2022-11-11 13:43:55 +01:00
Giacomo Vercesi d185fc80ac Rank: fix RankConvertibleTo with RootRank
RankConvertibleTo would be erroneously fail when used with a RootRank
either in the From or To template parameter.
2022-11-11 13:43:55 +01:00
Massimo Fioravanti fa30486ce0 Outliner: create extractor cache once 2022-11-10 19:41:42 +01:00
Giacomo Vercesi dad9dbcec8 getCurrentRoot: improve /proc/self/maps parsing
This fixes a behavior in getCurrentRoot that would lead it to reporting
an incorrect path if revng was installed in a path with spaces.
2022-11-02 11:50:40 +01:00
Giacomo Vercesi 4ae8df0ad2 Yield disassembler: drop support for AMDGPU 2022-11-02 11:50:40 +01:00
Massimo Fioravanti 10ab39664d Runner: postpone logging after checks 2022-10-31 16:47:33 +01:00
Giacomo Vercesi 0b80801b2b TupleTreeDiff: applyDiff uses ErrorList
Change how TupleTreeDiff and Visitor work so they can populate an
ErrorList in case the deserialization/apply of a diff fails.
2022-10-30 09:13:44 +01:00
Giacomo Vercesi a75fc40abe PipelineC: drop rp_manager_create_memory_only
The function was unused, broken and superseded by the other
rp_manager_create with `execution_directory=nullptr`.
2022-10-30 09:13:23 +01:00
Giacomo Vercesi 81d25f9805 PipelineC: expose invalidation logic 2022-10-30 09:13:14 +01:00
Alessandro Di Federico 53616b34ea LinkForTranslation: use ld, not c++
This change enables us to depend on the linker only, not on the
compiler.
2022-10-29 12:11:17 +02:00
Massimo Fioravanti d55aa9b9e6 Pipeline: remove * from targets
Now * is just a pipeline frontend shorthand.
2022-10-20 14:20:12 +02:00
Alessandro Di Federico 5a99154196 Put Python packages into lib/python*/site-packages 2022-10-11 19:08:10 +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 0566f5342e Yield/PTML: make instruction definition 0-sized
Instruction definition tags are now generated as a 0-size anchor on
the LHS of the text of the actual instruction, this is to prevent
a potential user asking for the definition/reference of the single
instruction.
2022-10-11 17:10:17 +02:00
Giacomo Vercesi 4d0f72548a ControlFlow/SVG: switch to simple tree layouter 2022-10-11 17:10:06 +02:00
Ivan Krysak b94c23cf52 Yield/ControlFlow: stop accounting for footer 2022-10-11 17:09:39 +02:00
Pietro Fezzardi 43cb77e6a3 TypeSystemPrinter: route edge to the top of nodes 2022-10-06 17:53:47 +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 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
Alessandro Di Federico 9dd0b139c0 PromoteCSVs: helpers no longer return structs
PromteCSVs creates wrappers around helpers. These helpers used to return
a struct in case the helper was changing a CSV.

In order to simplify the downstream pipeline, we now use out arguments
instead of returning a struct.
2022-09-29 10:53:47 +02:00
Alessandro Di Federico 5a7c120433 Translator: stop translation if leaving +x page
If a basic block is starting in a traslated page, but it extends out of
it, stop translation.
2022-09-29 09:02:52 +02:00
Alessandro Di Federico 8d4b3833ec InvokeIsolatedFunctions: adopt splitBasicBlockBefore 2022-09-26 18:10:12 +02:00
Alessandro Di Federico df17c199c8 s/object..o/object.o/ 2022-09-26 18:09:01 +02:00
Alessandro Di Federico f6d5cd24dd Give pretty names to temporary files 2022-09-26 18:09:01 +02:00
Ivan Krysak 5190f8f6c8 Yield: move PTML out of assembly namespace
This fixes an old issue: the headers were moved out out of assembly
a while back while cpp files had been forgotten.
2022-09-26 12:11:20 +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 15f0c816c6 SVG Exporter: adopt ptml::Tag 2022-09-26 12:08:47 +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 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 0ac31f8e92 Layouter: adopt the new entry detection algorithm 2022-09-26 10:33:43 +02:00
Ivan Krysak b267868356 CFG: fix calculateViewBox for entryless graphs 2022-09-26 10:33:43 +02:00
Ivan Krysak 0c7785bc38 Layouter & SVG: improve handling of empty graphs 2022-09-26 10:33:43 +02:00
Ivan Krysak 05d1426dca CrossRelations: drop unnecessary serialization 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 4303ed5da6 Layouter: implement non-orthogonal edge support 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 7037be8b90 SVG Exporter: improve arrow head customizability 2022-09-26 10:33:43 +02:00
Ivan Krysak 172e07f398 Layouter: improve multiple entry graph support 2022-09-26 10:33:43 +02:00