Building and Installing Polly

You can build Polly with cmake and your preferred geneator (e.g. Ninja, make, Visual Studio, etc.).

Get the code

git clone https://github.com/llvm/llvm-project.git
You can also get a shallow clone by running:
git clone --depth 1 https://github.com/llvm/llvm-project.git

Build Polly

mkdir build && cd build
cmake '-DLLVM_ENABLE_PROJECTS=clang;polly' ../llvm
cmake --build .
You can also pass arguments to cmake to specify a particular generator (e.g. -G Ninja) or the build type (-DCMAKE_BUILD_TYPE=Release). If you just want to play around with Polly, it is recommended to do a Release+Assert build by passing -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON.

Test Polly

To test Polly, you can run
cmake --build . --target check-polly

Using Polly

Suppose that you want to compile a program hello.c using Polly. To compile it with Polly (in the build folder), you can run:
bin/clang -O3 -mllvm -polly hello.c

Troubleshooting

If you run out of memory when building with Ninja, try lowering the concurrency of Ninja (e.g. ninja -j 2 ). More tips and tricks to building and using LLVM can be found here.

For more information on getting started with Polly and LLVM in general, see LLVM's getting started docs.