Alessandro Di Federico
47c3dd8f0f
Drop model::Segment::Sections
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
0377ed6c04
StdStorageClient::type: always return Missing
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
f35ca5efc2
for-collect-cfg.yml: make tests more robust
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
31b1b66f44
Reorder model::Binary fields
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
efe381e839
Improve failed precondition checks reporting
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
3be8f4c3d3
Lift: require DefaultABI or DefaultPrototype
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
c061f1f971
Make Pipe::checkPrecondition mandatory
2024-05-22 10:25:25 +02:00
Alessandro Di Federico
738da4fbb5
Minor changes
2024-05-22 10:25:25 +02:00
Djordje Todorovic
e3f191ff67
doc: Adjust tests because of cast reduction
2024-05-16 17:55:19 +02:00
Alessandro Di Federico
e64eee9402
CodeGenerator: handle partially valid instructions
...
Sometimes we have instructions that are, say, two bytes long but only
one of the two bytes are invalid (because they end up out of the
segment).
2024-05-15 13:19:42 +02:00
Alessandro Di Federico
b273caa8dc
FunctionMetadata::findBlock: do not ignore IBDHB
2024-05-15 13:19:42 +02:00
Alessandro Di Federico
38ea8f5237
Handle calls to non-functions
2024-05-15 13:19:40 +02:00
Alessandro Di Federico
4eb44e3555
Merge branch 'feature/improve-build-times'
2024-05-03 21:53:42 +02:00
Alessandro Di Federico
bf6cefc05a
Externalize functions to improve build times
2024-05-03 21:52:40 +02:00
Alessandro Di Federico
fe1dffcffd
Add some missing includes
...
This is in preparation of reducing headers in Debug.h.
2024-05-03 21:52:40 +02:00
Alessandro Di Federico
25c7834b21
Introduce test_adt
...
This should reduce build times.
2024-05-03 21:52:40 +02:00
Alessandro Di Federico
b392105f48
Merge branch 'feature/efa-4'
2024-05-03 19:28:56 +02:00
Alessandro Di Federico
8eca2e13fe
Do not use SmallPtrSet with std::includes
2024-05-03 17:59:34 +02:00
Alessandro Di Federico
452036edf1
Purge instructions to save return address
2024-04-30 15:25:53 +02:00
Alessandro Di Federico
f777eaf00f
Introduce tests for RegisterUsageAnalyses
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
0459b9d084
Introduce RegisterUsageAnalyses
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
9d12cd35e3
DwarfImporter: improve logging
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
58d965f977
DwarfImporter::getName: consider abstract_origin
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
fcd04c163b
DwarfImporter: hack to handle transparent unions
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
2267b51090
Mark findPrototype as inline
2024-04-19 18:33:00 +02:00
Alessandro Di Federico
ba65443293
DetectABI call graph: no multiple identical edges
2024-04-18 17:55:22 +02:00
Alessandro Di Federico
0b4476d824
Introduce FunctionSummary::clone
2024-04-18 17:55:15 +02:00
Alessandro Di Federico
ab3d546b0a
Introduce GenericGraph::dumpGraph()
2024-04-18 17:50:33 +02:00
Alessandro Di Federico
dcfb4621a7
Improve GenericGraph::verify
2024-04-18 17:50:33 +02:00
Alessandro Di Federico
a1f3624b21
TraceProgressListener: flush upon signal
2024-04-18 17:50:33 +02:00
Alessandro Di Federico
3b135a2a2f
MFP: use the provided GraphTraits for RPOT
2024-04-18 17:50:32 +02:00
Alessandro Di Federico
d36d0184d3
SerializableGraph: fix template usage
2024-04-18 17:50:32 +02:00
Alessandro Di Federico
a1b0ba752c
GenericGraph: implement Edge::operator==
...
This fixes a subtle bug in GenericGraph. Basically, if the label of an
Edge was the Empty data structure, whose `operator==` always returns
`true`, the comparison between edges was broken.
2024-04-18 17:50:32 +02:00
Alessandro Di Federico
d8e58f7a36
for-detect-abi.yml: re-enable tests
...
Tests were accidentally disabled due to a typo.
2024-04-18 17:50:31 +02:00
Alessandro Di Federico
c2da2ba08a
revng-check-conventions: ignore empty files
2024-04-18 17:50:31 +02:00
Alessandro Di Federico
dae9f33544
Minor changes
2024-04-18 17:50:31 +02:00
Alessandro Di Federico
9bbf1cc144
DwarfImporter: renumber UnionFields after cleanup
2024-04-11 15:29:39 +02:00
Alessandro Di Federico
53f0c71d3b
FunctionMetadata::dumpCFG: dump to file
2024-04-05 13:29:15 +02:00
Alessandro Di Federico
dda484d642
FunctionMetadata::simplify: use .nextBlock()
...
Before we were using `.End()` which lead to lose the inlining index.
2024-04-05 13:28:31 +02:00
Giacomo Vercesi
f7b1130dc2
mkdocs: add additional.js
...
Add an empty `additional.js` file which can be used by downstream users
for additional javascript code.
2024-03-26 11:30:14 +01:00
Alessandro Di Federico
cdfd91c334
Merge branch 'feature/revng-c-fixes-tier-2'
2024-03-19 17:33:00 +01:00
Pietro Fezzardi
df3bd470a1
Enforce determinism on CSV handling
...
Various parts of revng replace `llvm::GlobalVariable`s representing CSVs
with Allocal/Load/Store. In particular, these are PromoteCSV,
RootAnalyzer and PromoteGlobalToLocalVars.
Before this commit, those places were sloppy when replacing CSVs with
Alloca/Load/Store, and did that iterating on a container sorted by
pointers. This caused Alloca/Load/Store to be emitted in different order
accross runs, which in turn caused more non-determinism down the
pipeline.
This commit fixes the non-deterministic behavior, sorting CSVs based on
their names, which should always be present and deterministic.
2024-03-19 09:43:59 +01:00
Pietro Fezzardi
1baec8ff7b
Drop old MonotoneFramework
2024-03-19 09:43:59 +01:00
Pietro Fezzardi
2cd7777030
MFP: add SetIntersectionLattice
2024-03-19 09:43:59 +01:00
Alessandro Di Federico
cf3072d0c5
Merge branch 'feature/avoid-excessive-layout-usage'
2024-03-18 19:32:36 +01:00
Ivan Krysak
89b454a224
EFA: improve robustness against non-existent FSO
2024-03-18 19:32:35 +01:00
Ivan Krysak
13cc649226
test-model-diff: fix temporary directory usage
2024-03-18 19:32:35 +01:00
Ivan Krysak
64eb2adb7c
Minor improvements
2024-03-18 19:32:34 +01:00
Ivan Krysak
0692ef0828
Doxygen: be extra explicit about layout usage
2024-03-18 19:32:34 +01:00
Ivan Krysak
d1d97fe47e
PTML: fix doxygen stack indication
2024-03-18 19:32:34 +01:00