[llvm] [LoopInterchange] Enable it by default (PR #124911)
Ryotaro Kasuga via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 11 05:14:25 PDT 2025
kasuga-fj wrote:
@nikic Hi, let me ask some questions.
- [Is this](https://github.com/llvm/llvm-project/blob/44a7ecd1d7485be94d3a92021c650175f100d2f7/llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll#L147-L201) (using different type in `getelementptr` for the same ptr `%A`) a valid LLVM IR?
- Based on [the document](https://github.com/llvm/llvm-project/blob/44a7ecd1d7485be94d3a92021c650175f100d2f7/llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll#L147-L201), it seems to be permitted to me.
- Even if the above one is a valid input, I believe that this is a special case and it is highly unlikely to happen in practice. How much consideration should be given to cases like this when we enable some pass by default?
- I spent some time to investigate the correctness issues for `LoopInterchange` and `DependenceAnalysis`, and as far as I can tell, it seems that there are no other issues. But I cannot confidently say that they are sound.
- However, I also think it is impossible to prove the soundness for all cases.
(NOTE: I think fixing the above one is not very difficult. If we should fix it, I will probably be able to submit a PR for it within a few days.)
https://github.com/llvm/llvm-project/pull/124911
More information about the llvm-commits
mailing list