numba / llvmlite

A lightweight LLVM python binding for writing JIT compilers
https://llvmlite.pydata.org/
BSD 2-Clause "Simplified" License
1.9k stars 315 forks source link

optionally enable `Polly` passes in llvmlite #1071

Open dlee992 opened 1 month ago

dlee992 commented 1 month ago

I saw llvmlite is built with Polly: https://github.com/numba/llvmlite/blob/f59140fb3425fdf41afc583e76bbf15632900c86/conda-recipes/llvmdev_manylinux2014/build.sh#L28

But the PassBuilder (or PassManager) in source code doesn't provide a way to optionally add Polly passes. Thus this is a feature request.

stuartarchibald commented 1 month ago

Thanks for the request. I recall attempting this at some time in the past and it was quite involved. I think once LLVM 18 is in use by llvmlite there's an API that will help with this (and loading in and using other passes too). It may however already be possible via some other means that has appeared since I last tried.