Antonio Frighetto
20cdfe668a
EFA: take the control-flow graph out of the model
...
The control-flow graph and all its hierarchy components
have been moved from `model` to `efa`. The CFG is now
serialized onto the LLVM IR module as a metadata.
2022-04-05 15:37:57 +02:00
Antonio Frighetto
5848063b66
TupleTree: make const TupleTree& behave as such
...
A logic issue was addressed with improved state management.
2022-04-05 15:37:57 +02:00
Alessandro Di Federico
0793e4afcb
Turn lifting into a pass
2022-03-11 15:37:12 +01:00
Alessandro Di Federico
ee0b8f44c1
Introduce BinaryImporter
...
This is a big step to split revng-lift in two parts: one that only
writes the model and one that actually lifts to LLVM IR.
* Introduce `revng import binary`
* Split off `BinaryFile.h`
* Drop `revng.h`
* `GeneratedCodeBasicInfo`: use model
* Reduce role of `GeneratedCodeBasicInfo` in favor of
`model::Architecture` and `model::Register` methods
* `CodeGenerator`: adopt `RawBinaryView` and model
* `JumpTargetManager`: adopt `RawBinaryView` and model
* `ExternalJumpsHandler`: adopt model
* `InstructionTranslator`: discard `Architecture` in favor of
`EndianessMismatch`
* Many other changes
2022-03-08 15:15:24 +01:00
Alessandro Di Federico
60cce26768
Support streaming llvm::Errors to Loggers
2022-03-08 15:04:34 +01:00
Alessandro Di Federico
0a5d2c04a7
Rework LoadModelPass
2022-03-08 15:04:34 +01:00
Alessandro Di Federico
a88a9e52c3
Improve model::Segment
2022-03-08 13:06:47 +01:00
Alessandro Di Federico
39ace7dc56
mv revng{DwarfImporter,ModelImporterDwarf}
2022-03-08 12:25:47 +01:00
Alessandro Di Federico
c1ed018786
Fix a revng_assert meant to be a revng_abort
2022-03-08 12:25:22 +01:00
Ivan Krysak
242b885a78
Remove obsolete ABI utilities
2022-02-14 13:35:37 +01:00
Ivan Krysak
68129c9221
Add model::Binary::DefaultABI field
2022-02-14 13:35:36 +01:00
Massimo Fioravanti
6f0d0c4f9d
CodeGenerator: accept an external model
2022-02-07 22:24:39 +01:00
Alessandro Di Federico
d0bb3d4c2c
CodeGenerator.cpp: use OriginalName for symbols
2022-01-27 11:51:03 +01:00
Alessandro Di Federico
445066bd0a
CodeGenerator.cpp: posticipate DWARF import
...
This way we apply the optimization passes.
2022-01-27 11:51:03 +01:00
Alessandro Di Federico
680924b643
CodeGenerator.cpp: drop some outdated assertions
...
Drop some outdated checks for `model::Binary::ImportedDynamicFunctions`
being sorted.
2022-01-27 11:51:03 +01:00
Filippo Cremonese
fbeee896e1
Rename model::abi -> model::ABI
2022-01-10 10:31:27 +01:00
Alessandro Di Federico
cfb47157b9
clang-tidy: readability-identifier-naming
...
This commit fixes all the non-compliance with our preliminary clang-tidy
configuration, which will be merged soon.
2022-01-07 09:18:05 +01:00
Alessandro Di Federico
6073133545
CodeGenerator: drop IR emission duties
2021-12-22 17:47:54 +01:00
Alessandro Di Federico
27b553f09e
CodeGenerator: stop emitting .li.csv and .need.csv
2021-12-22 17:47:54 +01:00
Alessandro Di Federico
5a28bfedea
Move SegmentInfo::generateName to BinaryFile.cpp
2021-12-22 13:47:21 +01:00
Alessandro Di Federico
57ae7613e1
Drop obsolete debug files
...
This commit drops the generation of `.coverage.csv` and `.bbsummary.csv`
files. No one really uses them anymore.
2021-12-22 13:47:21 +01:00
Massimo Fioravanti
9e477d0ada
Make a library out of revng-lift
2021-12-22 13:47:21 +01:00