[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)
Ryotaro Kasuga via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri May 9 06:47:31 PDT 2025
kasuga-fj wrote:
@Meinersbur Could you please take a look?
I have submitted another PR #139254 as well, on which this PR depends, to address the following problems: I first tried to simply replace the function `isLexicographicallyPositive(std::vector<char> &DV)` to take an additional argument like `StartAt` to ignore the prefix, as discussed in the last meeting. However, it made several tests to fail, e.g. a case where a direction vector is `[< > =]` and we would like to swap the last two loops. It is safe because the first element guarantees that the whole vector is lexicographically positive, but just changing the legality check to drop the unrelated prefix rejected such a case because it makes the direction vector to be `[> =]`, which is negative.
The original issue #71519 isn't resolved by this patch because a problem similar to the above exists (I believe this can be resolved by improving the handling of negative direction). For now, I'd like to add a logic to ignore the irrelevant prefix of direction vectors, and will create another PR to address #71519.
Thanks.
https://github.com/llvm/llvm-project/pull/118267
More information about the llvm-branch-commits
mailing list