[llvm] [LoopInterchange] Supported Imperfect Loop Nests (PR #199511)
Ryotaro Kasuga via llvm-commits
llvm-commits at lists.llvm.org
Mon May 25 05:30:49 PDT 2026
================
@@ -0,0 +1,176 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt -S -passes='loop-interchange' -cache-line-size=64 < %s | FileCheck %s
+
+; // Loop nest with multiple loops at same depth
+; for (i = 0; i < 64; i++)
+; {
+; for (j = 0; j < 64; j++)
+; {
+; #pragma clang loop unroll(disable)
+; for (r = 0; r < 64; r++)
+; {
+; C[j][r] = B[j][r] + i;
+; }
+; }
+;
+; for (k = 0; k < 64; k++)
+; {
+; #pragma clang loop unroll(disable)
----------------
kasuga-fj wrote:
```suggestion
; for (r = 0; r < 64; r++)
; {
; C[j][r] = B[j][r] + i;
; }
; }
;
; for (k = 0; k < 64; k++)
; {
```
The pseudo code doesn't need to be strictly equivalent to the original code. Instead, it would be better to make it concise for readability.
https://github.com/llvm/llvm-project/pull/199511
More information about the llvm-commits
mailing list