mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
6cecbdc800cae7e84efb793bdf5a29ca3d57ec5d
The ModuleSlotTracker is owned by a new function-level ModuleSlotTrackerAnalysis whose Result holds the MST through a unique_ptr (MST is neither copyable nor movable, but the FAM cache requires a movable Result). Its run method calls incorporateFunction on the function. AvailableExpressionsAnalysis and InstructionToSerializePicker fetch the MST via FAM.getResult<ModuleSlotTrackerAnalysis>(F) and forward it down to AvailableExpressionsResult and the monotone framework, so all dumpToString calls on the logging path share the same slot-numbering cache.
The rev.ng binary analysis framework and decompiler
Welcome to the rev.ng project!
rev.ng is an open source binary analysis framework based on LLVM and QEMU. It features a full-fledged decompiler. It's developed by rev.ng Labs in the open.
Getting started
Head to the online documentation to get started (source).
Getting in touch
You can get in touch with us through the following means:
- X/Twitter, for the latest news about the project;
- Discord, a place for chatting for users and developers;
- Discourse, for user discussions;
- GitHub, for development issues and PRs;
- E-mail, for anything else;
License
The rev.ng binary analysis framework and decompiler is Free Software.
rev.ng depends on certain on GPLv2 components (in particular, QEMU), so the project is GPLv2-licensed as a whole. However, the individual files are licensed under the MIT license.
Languages
C++
77.1%
Python
12.6%
MLIR
4.4%
CMake
1.9%
LLVM
1.4%
Other
2.5%