Alessandro Di Federico
72a0194870
tmp
2022-11-16 11:24:50 +01:00
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
d55aa9b9e6
Pipeline: remove * from targets
...
Now * is just a pipeline frontend shorthand.
2022-10-20 14:20:12 +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
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
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
85d574b305
test-abi: various fixes
2022-09-21 18:39:28 +02:00
Giacomo Vercesi
37caa91e6d
Ranks: fix Rank keys
...
Use model::Function::Key for the Function rank instead of the naked
MetaAddress as it allows forward-compatibility if the model::Function
key is ever changed.
Use a std::tuple<uint64_t> for TypeField as it's the current type for
{Struct,Enum,Union}Field.key()
2022-09-01 17:46:57 +02:00
Massimo Fioravanti
633f49c1ef
Introduce dedicated namespace for kinds and ranks
2022-08-29 14:44:53 +02:00
Massimo Fioravanti
2a996ef666
Pipeline: allow analyses to fail
2022-08-29 14:44:10 +02:00
Massimo Fioravanti
6b099c57e8
Pipeline: introduce options for analyses
2022-08-29 14:43:25 +02:00
Alessandro Di Federico
1d91ed9beb
tuple_tree_generator: make C++ just a regular backend
...
The `tuple_tree_generator` component was still heavily treating C++ as a
special citizen.
This commit normalizes the situation.
2022-08-11 16:20:42 +02:00
Massimo Fioravanti
5894867786
revng-pipeline: s/-p/--resume/
2022-08-10 09:49:24 +02:00
Massimo Fioravanti
0bb115a4f3
revng-pipeline: rework syntax for targets
...
Was: step:container:p/a/t/h:kind
Now: step/container/p/a/t/h:kind
2022-08-10 09:49:24 +02:00
Massimo Fioravanti
4cd5abe2b0
revng-pipeline: introduce --produce and --analyze
2022-08-10 09:49:24 +02:00
Massimo Fioravanti
96bd5835d8
revng-pipeline: rework file-to-container syntax
2022-08-10 09:49:24 +02:00
Massimo Fioravanti
c97187fd0e
Add cross relations role
2022-08-05 21:45:19 +03:00
Ivan Krysak
67bff75b7f
Add basic location tests
2022-08-05 21:42:45 +03:00
Ivan Krysak
65d1a016d4
Standardize concept naming across the codebase
2022-08-05 17:27:56 +03:00
Ivan Krysak
240f334d78
Fix minor wording issues
2022-08-05 17:27:56 +03:00
Ivan Krysak
8305e020b0
Move ranks into their own namespace
2022-08-05 17:27:56 +03:00
Djordje Todorovic
a36e22729f
Model: Add PDB support
2022-07-28 14:52:50 +02:00
Davide Depau
7a067bd172
Fix lint issues due to usage of abort()
2022-07-26 10:31:44 +02:00
Davide Depau
63ba4bc5e5
Fix lint issues in bad behavior tests
2022-07-26 09:52:30 +02:00
Massimo Fioravanti
da30cf9e99
Pipeline: add read-only containers
2022-07-25 16:24:27 +02:00
Davide Depau
363fa21fe0
Introduce PipelineC API shutdown method
2022-07-22 21:04:03 +02:00
Davide Depau
c034c67c58
Add tests for stack trace signal handler
...
This ensures that, on crash, revng-pipeline prints a stack trace
2022-07-22 21:04:03 +02:00
Davide Depau
8d89be44fc
Add initialization utility to all main functions
2022-07-22 21:04:03 +02:00
Giacomo Vercesi
018518d783
revng.model: remove tags from dumper
...
Tags in the yaml have been deprecated for a while, remove them from
being outputted from YAML dumper.
2022-07-22 14:56:15 +02:00
Giacomo Vercesi
a741e39f76
revng-check-conventions: introduce prettier
...
Adds the formatting tool prettier to allow formatting JS, TS, JSON,
YAML and HTML files.
2022-06-28 15:29:09 +02:00
Alessandro Di Federico
bee6872414
Fix CMake formatting
2022-06-21 18:24:43 +02:00
Alessandro Di Federico
f4684e244d
Switch to new testsuite
2022-06-20 19:04:18 +02:00
Massimo Fioravanti
55fb87b268
PipelineC: introduce dead kinds
...
We need to prevent stub kinds used just to represent dead elements to be
displayed in the GUI and CL.
We do so by introducing a DeadKind which expands their targets to the
empty list.
2022-06-20 19:03:17 +02:00
Ivan Krysak
ac74ae2fff
Add the cfg generation test
2022-06-15 16:04:44 +03:00
Ivan Krysak
f536ba46f0
Separate process-assembly from yield-assembly
2022-06-15 15:52:25 +03:00
Massimo Fioravanti
22bce466b1
revng-pipeline: support handles multiple branches
...
This commit introduces the possibility to have multiple pipeline
branches in a single YAML pipeline file.
2022-06-13 18:34:03 +02:00
Alessandro Di Federico
071fe1c0e4
[FIXUP] Support analyses and global in Python
2022-05-24 10:56:04 +02:00
Giacomo Vercesi
7052f2a8a0
Support analyses and globals in Python
...
This commit adds the newly implemented functionality in PipelineC both
in revng.api and the graphql api, allowing:
* retrieval of global variable names
* unwrapping of a single target
* execution of analyses
2022-05-24 10:56:02 +02:00
Massimo Fioravanti
f0a5ffe3b3
revng-pipeline: globals, extractOne and analyses
2022-05-24 08:58:48 +02:00
Pietro Fezzardi
741d55279b
TupleTree: add copy-constructor and -assignment
...
The copy of a TupleTree is potentially very expensive, so it was
disabled until now and only allowed via the explict method clone().
We have now decided to make TupleTree copiable.
This commit adds a copy-constructor and a copy-assignment, killing the
clone() method that was already unused and is now effectively useless.
2022-05-11 16:16:49 +02:00
Giacomo Vercesi
efcc636483
Introduce roundtrip tests for TypeScript
2022-05-09 13:38:51 +02:00
Ivan Krysak
6a50787dd4
Add runtime html assembly output tests
2022-05-06 18:51:47 +02:00
Ivan Krysak
2a6a7943f4
Fix a couple of minor typos
2022-05-06 18:51:47 +02:00
Alessandro Di Federico
aa07b96d61
EFA: fix Block.End in ground truth
2022-05-06 16:04:23 +02:00