[llvm] [DA] do not handle array accesses of different offsets (PR #123436)

Sebastian Pop via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 11 09:48:03 PDT 2025


================
@@ -1834,6 +1838,12 @@ PreservedAnalyses LoopInterchangePass::run(LoopNest &LN,
   std::unique_ptr<CacheCost> CC =
       CacheCost::getCacheCost(LN.getOutermostLoop(), AR, DI);
 
+  SCEVUnionPredicate Assumptions = DI.getRuntimeAssumptions();
+  // Early fail when the dependence analysis has runtime assumptions.
+  // FIXME: this could be handled by versioning the loop.
+  if (!Assumptions.isAlwaysTrue())
+    return PreservedAnalyses::all();
----------------
sebpop wrote:

Just above this is a call to CacheCost::getCacheCost that queries all dependences in the loop nest to compute cache reuse patterns.

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


More information about the llvm-commits mailing list