================ @@ -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. ---------------- sjoerdmeijer wrote:
> 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? When I read the test case a first time, I thought 100 was because of the loop bound, but then I realised it wasn't. I then thought 100 was indeed an arbitrary value that maybe exceed a cache line. But yeah, either way, making explicit that this is an arbitrary value (not related to loop bounds) one way or another is probably a good clarification. https://github.com/llvm/llvm-project/pull/193476 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
