Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 1.49 KB

README.md

File metadata and controls

68 lines (46 loc) · 1.49 KB

LLVM-Anderson

This project implements the famous flow-insensitive points-to analysis algorithm, namely Anderson algorithm, on the LLVM compiler platform.

Notes: This is a toy project. It's not well tested and corner cases are poorly considered. Use it at your own risk!

Build

Prerequisites

Please ensure you have LLVM installed before build. The recommended LLVM version is LLVM 10.0.0, but other LLVM versions might work as well (not tested).

If you are using Ubuntu, execute the following command to install required components before build:

sudo apt install build-essential cmake llvm-dev

If you want to build doxygen documentation, you need to install doxygen as well:

sudo apt install doxygen

Build Binaries

Clone the repository and switch into source tree root:

git clone https://github.com/Lancern/p2a.git
cd p2a

Create a build directory:

mkdir build
cd build

Then you can build p2a by the familiar two-step build:

cmake ..
cmake --build .

Build Doxygen Documents

In order to build doxygen documents, just add the --target switch when invoking cmake --build . in the last step of build:

cmake --build . --target doxygen

The doxygen output directory is docs/doxygen.

License

This project is open-sourced under the MIT license.