[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)

2025-05-13 Thread Ryotaro Kasuga via llvm-branch-commits
kasuga-fj wrote: I misunderstood GitHub behavior and cannot reopen this PR... Submitted another PR #139690 with same contents. https://github.com/llvm/llvm-project/pull/118267 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org htt

[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)

2025-05-12 Thread Ryotaro Kasuga via llvm-branch-commits
kasuga-fj wrote: Thanks for your review. https://github.com/llvm/llvm-project/pull/118267 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)

2025-05-09 Thread Ryotaro Kasuga via llvm-branch-commits
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 &DV)` to take an additional argument like

[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)

2025-05-09 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj edited https://github.com/llvm/llvm-project/pull/118267 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)

2025-05-09 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/118267 Rate limit ยท GitHub body { background-color: #f6f8fa; color: #24292e; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans

[llvm-branch-commits] [llvm] [LoopInterchange] Relax the legality check to accept more patterns (PR #118267)

2025-05-09 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj edited https://github.com/llvm/llvm-project/pull/118267 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [MachinePipeliner] Introduce a new class for loop-carried deps (PR #137663)

2025-05-01 Thread Ryotaro Kasuga via llvm-branch-commits
kasuga-fj wrote: This PR is a part of [Stacked Pull Requests](https://llvm.org/docs/GitHub.html#stacked-pull-requests) and depends on #137662. The target branch will automatically change to main after the dependent PR is merged. Could you please take a look at #137662 at first? https://github

[llvm-branch-commits] [llvm] [MachinePipeliner] Introduce a new class for loop-carried deps (PR #137663)

2025-04-28 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj created https://github.com/llvm/llvm-project/pull/137663 In MachinePipeliner, loop-carried memory dependencies are represented by DAG, which makes things complicated and causes some necessary dependencies to be missing. This patch introduces a new class to manage l

[llvm-branch-commits] [llvm] [LoopInterchange] Fix the vectorizable check for a loop (PR #133667)

2025-04-05 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/133667 >From ae5d9cff055000480e7e71205265b18911440e29 Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga Date: Thu, 27 Mar 2025 09:52:16 + Subject: [PATCH] [LoopInterchange] Fix the vectorizable check for a loop In t

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-04-05 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/133672 >From 72b48ba6d6b70eb9a65abdc516697f3dee9c7a2e Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga Date: Thu, 27 Mar 2025 10:45:26 + Subject: [PATCH] [LoopInterchange] Improve profitability check for vectorizat

[llvm-branch-commits] [llvm] [LoopInterchange] Add tests for the vectorization profitability (NFC) (PR #133665)

2025-04-05 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj edited https://github.com/llvm/llvm-project/pull/133665 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-04-05 Thread Ryotaro Kasuga via llvm-branch-commits
@@ -80,6 +80,21 @@ enum class RuleTy { ForVectorization, }; +/// Store the information about if corresponding direction vector was negated kasuga-fj wrote: > But I now guess that the complication here is the unique entries in the > dependency matrix, is th

[llvm-branch-commits] [llvm] [LoopInterchange] Fix the vectorizable check for a loop (PR #133667)

2025-04-05 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj created https://github.com/llvm/llvm-project/pull/133667 In the profitability check for vectorization, the dependency matrix was not handled correctly. This can result to make a wrong decision: It may say "this loop can be vectorized" when in fact it cannot. The ro

[llvm-branch-commits] [llvm] [LoopInterchange] Fix the vectorizable check for a loop (PR #133667)

2025-04-04 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/133667 >From bd84ddc9e4dc645e965b2a6dc535a3023e0d7e45 Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga Date: Thu, 27 Mar 2025 09:52:16 + Subject: [PATCH] [LoopInterchange] Fix the vectorizable check for a loop In t

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-04-04 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/133672 >From 692e4de4f84281f8c2bc5f7278f8066929df3cd6 Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga Date: Thu, 27 Mar 2025 10:45:26 + Subject: [PATCH] [LoopInterchange] Improve profitability check for vectorizat

[llvm-branch-commits] [llvm] [LoopInterchange] Add tests for the vectorization profitability (NFC) (PR #133665)

2025-04-04 Thread Ryotaro Kasuga via llvm-branch-commits
kasuga-fj wrote: Depends on #133664 (Sorry for inconvenience, I tried using [Graphite](https://app.graphite.dev/), but it didn't work fine due to my network problem). https://github.com/llvm/llvm-project/pull/133665 ___ llvm-branch-commits mailing li

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-04-02 Thread Ryotaro Kasuga via llvm-branch-commits
@@ -80,6 +80,21 @@ enum class RuleTy { ForVectorization, }; +/// Store the information about if corresponding direction vector was negated kasuga-fj wrote: > I think duplicated direction vectors are always allowed. They don't add new > or different informa

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-04-02 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj updated https://github.com/llvm/llvm-project/pull/133672 >From 1a1c1f61a8cb179443d782127c157695bd21f6cc Mon Sep 17 00:00:00 2001 From: Ryotaro Kasuga Date: Thu, 27 Mar 2025 10:45:26 + Subject: [PATCH] [LoopInterchange] Improve profitability check for vectorizat

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-03-31 Thread Ryotaro Kasuga via llvm-branch-commits
kasuga-fj wrote: Depends on #133667 https://github.com/llvm/llvm-project/pull/133672 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LoopInterchange] Fix the vectorizable check for a loop (PR #133667)

2025-03-31 Thread Ryotaro Kasuga via llvm-branch-commits
kasuga-fj wrote: Depends on #133665 https://github.com/llvm/llvm-project/pull/133667 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

[llvm-branch-commits] [llvm] [LoopInterchange] Improve profitability check for vectorization (PR #133672)

2025-03-30 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj created https://github.com/llvm/llvm-project/pull/133672 The vectorization profitability has a process to check whether a given loop can be vectorized or not. Since the process is conservative, a loop that can be vectorized may be deemed not to be possible. This ca

[llvm-branch-commits] [llvm] [LoopInterchange] Add tests for the vectorization profitability (NFC) (PR #133665)

2025-03-30 Thread Ryotaro Kasuga via llvm-branch-commits
https://github.com/kasuga-fj created https://github.com/llvm/llvm-project/pull/133665 There is a problem with the current profitability check for vectorization in LoopInterchange. There are both false positives and false negatives. The former means that the heuristic may say that "an exchange