Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#66226 - [clang/llvm] Add Polly support

Attached to Project: Arch Linux
Opened by LucaS (luca020400) - Sunday, 12 April 2020, 13:43 GMT
Last edited by Evangelos Foutras (foutrelis) - Tuesday, 02 February 2021, 23:46 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Evangelos Foutras (foutrelis)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


Polly is a high-level loop and data-locality optimizer and optimization infrastructure for LLVM. It uses an abstract mathematical representation based on integer polyhedra to analyze and optimize the memory access pattern of a program. We currently perform classical loop transformations, especially tiling and loop fusion to improve data-locality. Polly can also exploit OpenMP level parallelism, expose SIMDization opportunities. Work has also be done in the area of automatic GPU code generation.

There is currently a work in progress project to build Linux kernel with it to further enhance the performance ( along LTO and many other )

Would it be possible to build clang/llvm with it?

So far Polly must be built with-in the llvm tree and can't be built outside of it ( like clang )
adding the -DLLVM_ENABLE_PROJECTS='polly' flag to cmake
This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Tuesday, 02 February 2021, 23:46 GMT
Reason for closing:  Implemented
Comment by Evangelos Foutras (foutrelis) - Tuesday, 13 October 2020, 00:14 GMT
I tentatively added it as extra/polly. Since it's packaged separately, clang needs "-Xclang -load -Xclang" in addition to "-mllvm -polly".

I have doubts about the usefulness of polly as an Arch package. Isn't it targeting very niche ML and HPC applications? [1]