[llvm-branch-commits] [llvm] [LoopInterchange] Add test for multiple accesses to same base ptr (NFC) (PR #193476)

Ryotaro Kasuga via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon May 18 06:17:38 PDT 2026


================
@@ -188,3 +188,87 @@ loop.i.latch:
 exit:
   ret void
 }
+
+; for (i = 0; i < 10; i++)
+;   for (j = 0; j < 10; j++)
+;     A[100*i + j] = B[100*i + j] + C[i + 100*j] + C[i + 99*j] + C[i + 98*j];
+;
+; The above loop should NOT be interchanged in terms of locality of reference.
----------------
kasuga-fj wrote:

> instead of 3 unfriendly memory accesses there is only 1

It is important that there are multiple memory accesses that share the same base pointer to expose the problem of existing behavior.

> And maybe a quick mention why the 100?

100 is a completely arbitrary value. Would it be better to clarify that this (and 99, 98) is an arbitrary value, e.g., by using 42?

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


More information about the llvm-branch-commits mailing list