Commit Graph

2666 Commits

Author SHA1 Message Date
Massimo Fioravanti 10ab39664d Runner: postpone logging after checks 2022-10-31 16:47:33 +01:00
Alessandro Di Federico bb2abcc9ea Merge branch 'feature/graphql-invalidations' 2022-10-30 09:14:22 +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 2c4f5d1381 GraphQL: introduce target endpoint 2022-10-30 09:13:34 +01:00
Giacomo Vercesi de76a5239b PipelineC: improve documentation 2022-10-30 09:13:29 +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
Giacomo Vercesi a6a7a09606 daemon-self-test: fix dumping of daemon output
Fix the `fail` function, to properly capture the output of the daemon
process in case of failure.
2022-10-30 09:12:33 +01:00
Giacomo Vercesi a465e796df revng.api: explicitly declare exports 2022-10-30 09:11:53 +01:00
Alessandro Di Federico 7d9a80b0e6 Merge branch 'feature/ttr-caching' 2022-10-30 08:18:34 +01:00
Pietro Fezzardi f371c03e93 Globals.h: evictCachedReferences on clear() 2022-10-29 16:46:19 +02:00
Pietro Fezzardi d520fd5aea Cache TTRs in Model tools 2022-10-29 16:46:19 +02:00
Pietro Fezzardi fff0fbd874 LoadModelPass: cache TTRs on getReadOnlyModel
The cache is evicted on the next call to getWritableModel.
2022-10-29 16:46:19 +02:00
Pietro Fezzardi f371be4271 Cache TTRs on getModelFromContext
The cache is evicted on getWritableModelFromContext.
2022-10-29 16:46:19 +02:00
Pietro Fezzardi d04e2e73d3 TupleTree: caching methods for TupleTreeReferences 2022-10-29 16:46:19 +02:00
Pietro Fezzardi 0795c7e331 TupleTreeReference: cache target pointers 2022-10-29 16:46:19 +02:00
Pietro Fezzardi 7eb94c6646 QualifiedType: add operator<=> 2022-10-29 16:46:19 +02:00
Pietro Fezzardi cf3103d3d7 TupleTree{Path,Reference}: add operator<=> 2022-10-29 16:46:19 +02:00
Pietro Fezzardi 8e9170eb60 Enforce that TTRs in TupleTree are mutable 2022-10-29 16:46:19 +02:00
Pietro Fezzardi 6173d154a3 TupleTree: visitReferences with non-const visitors 2022-10-29 16:46:19 +02:00
Pietro Fezzardi 5f8dab184d Move ConstOrNot to Concepts.h 2022-10-29 16:46:19 +02: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
Alessandro Di Federico 5161ed3325 Update README.md 2022-10-27 01:22:02 +02:00
Alessandro Di Federico 8a61d2a69e Merge branch 'feature/vscode-web-component' 2022-10-25 16:53:17 +02:00
Giacomo Vercesi 579cd2c558 npm: handle global install in lib64
Some distributions change the LIBDIR for global installation to lib64,
account for that when installing the model in CMAKE_BINARY_DIR
2022-10-24 14:27:52 +02:00
Giacomo Vercesi 232a28ae69 FileContainer: handle case where Path is empty
When requesting a `cloneFiltered` the Path attribute of the
FileContainer might be empty, and this will lead to an abort. Fix this
situation by checking if the Path is empty.
2022-10-24 14:25:02 +02:00
Giacomo Vercesi d36fddc71e revng-model: install in global mode
Install revng-model in global mode, so it is consistent with the
other installed packages
2022-10-24 09:58:55 +02:00
Giacomo Vercesi e4adbe8134 revng.support: add get_root
Add the get_root function which will return the absolute path of the
root, relatively to the file location in support
2022-10-24 09:58:55 +02:00
Giacomo Vercesi f7ec377aa4 mktemp: use --tmpdir
Without the --tmpdir argument the current directory is used to generate
the temporary file
2022-10-24 09:58:55 +02:00
Alessandro Di Federico 368f27b876 yields test: use one-per-architecture 2022-10-22 00:42:53 +02:00
Massimo Fioravanti 6a869735a9 Pipeline: fix driver for targetless invocation 2022-10-21 11:18:33 +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 b2ba0a59eb Merge branch 'feature/gdb' 2022-10-11 19:08:32 +02:00
Alessandro Di Federico 8aa2c2ac44 daemon/test.py: do not use memfd 2022-10-11 19:08:10 +02:00
Alessandro Di Federico 12191a8d01 daemon/test.py: use log function 2022-10-11 19:08:10 +02:00
Alessandro Di Federico 5feea4e47a Drop graphlib-backport: we require Python 3.10 2022-10-11 19:08:10 +02:00
Alessandro Di Federico d18b1a9092 Drop unused Python requirement: psutil 2022-10-11 19:08:10 +02:00
Alessandro Di Federico 6fae9fc1c5 Stop checking Python requirements 2022-10-11 19:08:10 +02:00
Alessandro Di Federico 5a99154196 Put Python packages into lib/python*/site-packages 2022-10-11 19:08:10 +02:00
Alessandro Di Federico cecc22c4a3 Merge branch 'feature/ptml-fixes' 2022-10-11 17:12:07 +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
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
Giacomo Vercesi 4271082b3f revng.api: remove dead import 2022-10-11 17:09:18 +02:00
Pietro Fezzardi 43cb77e6a3 TypeSystemPrinter: route edge to the top of nodes 2022-10-06 17:53:47 +02:00
Alessandro Di Federico 17149bacb7 Merge branch 'feature/revng-distributable-revamp' 2022-10-06 15:13:04 +02:00
Giacomo Vercesi ff48b9de75 Introduce revng daemon-self-test
This new command will, given an executable, try to produce all
artifacts. By default it will run `revng daemon`, however an external
address can be provided to test remote daemons, e.g. running inside a
container.
2022-10-06 15:12:36 +02:00
Giacomo Vercesi e5963395dc Drop requests in favor of aiohttp
Drop the use of requests in the daemon tests, use aiohttp instead as
it allows the use of unix sockets, which simplifies the creation of
multiple ephimeral daemons
2022-10-04 14:20:03 +02:00