-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide an easy way to use LLVM's Polly #39884
Comments
Hi, it seems I can simply checkout https://github.com/llvm-mirror/polly into src/llvm/tools/polly, checkout the release_60 branch and llvms cmake will do the rest of the configuration. |
Could we build with it by default? |
I tried adding to the rust repos .gitmodules as a submodule however this did not work, probably because it would check out not into the root repo but rather into the directory of another submodule (llvm). |
This isn't as straight forward as suggested. After cloning the polly repo into |
BTW there is an ongoing discussion in the LLVM community about moving Polly into LLVM proper, using its infrastructure in existing and new loop optimizations, and slowly moving at least some of Polly's capabilities into the default optimization pipeline. See here for example. This is a project that will take a long time to fully come to fruition but the end result will not just be easier to use from rustc, it will hopefully also result in better and more general optimizations overall. |
Triage: #51061 exists 🎊 |
#78566 allows polly to be passed into llvm-args. It is not available by default on nightly, and to use the pass, one must currently build rustc with polly enabled. |
To use polly with clang I just need to compile polly together with llvm and clang (just check it out and put it in the correct directory before compiling), load it as a clang plugin, and then enable
-mllvm polly
.It would be nice if:
/lib/LLVMPolly.so
as a plugin-mllvm polly
.-mllvm -polly-option_name=value
dance over and over again.This would allow to start experimenting with polly, to e.g. make sure that it gets proper aliasing information for Rust.
The text was updated successfully, but these errors were encountered: