Files
revng-revng/python/revng
Pietro Fezzardi cb5702dc04 Add ArithmeticToGEP pass
Introduce the ArithmeticToGEP canonicalisation pass. It detects
pointers (LLVM-typed pointer values, model pointers flagged by the
"revng.pointers" metadata, and pointer-tagged extract values) and
rewrites integer arithmetic computed on top of them as i8 GEPs,
followed by a ptrtoint when the original use needs an integer.

For each obvious pointer the pass also walks backwards through Add
chains and disambiguates the pointer operand of each Add when the
other operand cannot be a pointer, so the rewrite extends to integer
arithmetic that only later flows into a pointer use.
2026-05-08 11:37:10 +02:00
..
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