[llvm] [LoopInterchange] Exit early when all loops have deps in all directions (PR #149049)

Ryotaro Kasuga via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 16 02:55:11 PDT 2025


================
@@ -2,14 +2,13 @@
 ; RUN: opt < %s -passes=loop-interchange -S -debug 2>&1 | FileCheck %s
 
 ; CHECK:       Dependency matrix before interchange:
-; CHECK-NEXT:  * *
 ; CHECK-NEXT:  = *
 ; CHECK-NEXT:  < *
 ; CHECK-NEXT:  Processing InnerLoopId
 
 ; This example is taken from github issue #54176
 ;
-define void @foo(i32 noundef %n, i32 noundef %m, ptr nocapture noundef %aa, ptr nocapture noundef readonly %bb, ptr nocapture noundef writeonly %cc) {
+define void @foo(i32 noundef %n, i32 noundef %m, ptr nocapture noundef noalias %aa, ptr nocapture noundef readonly noalias %bb, ptr nocapture noundef writeonly noalias %cc) {
----------------
kasuga-fj wrote:

Added `noalias` to all ptr arguments to eliminate the  `* *` dependency.

https://github.com/llvm/llvm-project/pull/149049


More information about the llvm-commits mailing list