Files
revng-revng/python/revng
Pietro Fezzardi 1e94ca0711 Add SplitExponentialDataflow pass
Introduce a new canonicalisation pass that forces a small set of
exponential-dataflow-prone instructions (SelectInst plus the FShl
and FShr intrinsic patterns) to be stored into a dedicated local
variable. Without this, expanding their value into C expressions
during decompilation can blow up into exponential path enumeration
on real binaries.

This is a temporary workaround. A more principled split of
pathological dataflows is planned and will replace this pass.
2026-05-08 11:37:10 +02:00
..
2026-04-10 11:45:12 +02:00
2026-04-23 13:40:41 +02:00
2023-12-12 14:52:22 +01:00
2026-04-10 11:45:12 +02:00

rev.ng python package

This python package provides classes that can be used to represent, serialize and deserialize rev.ng models.

It also contains other modules related to various revng CLI tools.

How to install

You probably want to install this package in a virtualenv:

python -m venv <virtualenv_dir>
source <virtualenv_dir>/bin/activate

Installation

To build and install from source:

pip install .

Creating redistributable packages

This command will create a redistributable package in dist:

python setup.py bdist_wheel

The package can be installed using pip:

pip install dist/revng*.whl