numba / llvmlite

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

optionally enable `Polly` passes in llvmlite #1071

Open dlee992 opened 4 months ago

dlee992 commented 4 months 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 4 months 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.