Alessandro Di Federico
3dee046e09
tmp
2023-01-05 17:49:43 +01:00
Alessandro Di Federico
f4b37cdfa2
tmp
2023-01-05 17:49:43 +01:00
Alessandro Di Federico
fedfe6f1cb
Fix unit tests
2023-01-05 17:49:43 +01:00
Alessandro Di Federico
3993a20e30
tmp
2023-01-05 17:49:42 +01:00
Alessandro Di Federico
210e80f2ce
[TEMP] Disable tests
2023-01-05 17:49:42 +01:00
Massimo Fioravanti
742e1a0c56
TupleTree: switch from public fields to accessors
2022-12-12 18:36:57 +01:00
Alessandro Di Federico
207426cdf2
tests/unit/Model: drop unnecessary tests
2022-12-09 10:11:27 +01:00
Alessandro Di Federico
10852adae6
TestClass: use ROOT_TYPE
2022-12-09 10:11:27 +01:00
Alessandro Di Federico
693b361e4a
TupleTree: externalize several methods
2022-12-09 09:08:40 +01:00
Pietro Fezzardi
df30792435
PrimitiveType: support for 80 and 96 bits types
...
This commit completes the support of various rare PrimitiveTypes, that
has been added opportunistically over time and has remained inconsistent
across the codebase:
- float80_t
- float96_t
- generic80_t
- generic96_t
The first two are necessary because on some platforms long double is
either 10 or 12 bytes wide.
The second two are necessary because the Generic PrimitiveType should
allow all non-zero byte sizes allowed by any other PrimitiveType.
2022-11-30 15:06:54 +01:00
Ivan Krysak
535c9dd346
ABI: remove MinimumStackArgumentSize value
...
The architecture-specific pointer (generic register) size is used
instead.
For all the ABIs we support the value of this parameter was already
set to its pointer size. We might need to reintroduce the parameter
in the future if we want to support a super-exotic ABI with different
stack alignment requirements, but that seems highly unlikely.
This also introduces the argument extension helper for one stop all
treating small arguments when they are put into a register or pushed
into the stack.
2022-11-30 15:06:54 +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