[llvm] [LoopInterchange] Enable it by default (WIP) (PR #124911)
Sjoerd Meijer via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 24 02:53:37 PST 2025
sjoerdmeijer wrote:
> This loop has `S` dependence for the outermost loop so that it used to be able to interchange, but not anymore. My guess is that you are using an older version of the compiler that does not have the patches listed in this PR description. With future improvements, these loops should become interchangeable again. I think we should address this issue after the interchange is enabled by default.
I've checked and you're right. I used a slightly older build, but with all the correctness issues addressed it indeed doesn't trigger anymore on cholesky, lu and ludcmp. It still triggers on other polybench kernels (correlation and covariance), but due to their extremely low runtime and/or isn't on the hot path, doesn't show improvements. I think this indeed shows the potential of interchange, and is something I would like to address after enabling this by default.
https://github.com/llvm/llvm-project/pull/124911
More information about the llvm-commits
mailing list