[PATCH] D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays

Congzhe Cao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 13 20:07:10 PDT 2022


congzhe updated this revision to Diff 422727.
congzhe added a comment.

Addressed comments from Michael @Meinersbur and Bardia @bmahjour.

If the current patch looks okay, the next step would be to do refactoring, i.e., move `IndexedReference::tryDelinearizeFixedSize(ScalarEvolution *SE, Instruction *Src, const SCEV *SrcAccessFn, SmallVectorImpl<const SCEV *> &SrcSubscripts)` to `DependenceInfo`, and reuse it in both LoopCacheAnalysis.cpp and DependenceAnalysis.cpp.

Currently `tryDelinearizeFixedSize()` in DependenceAnalysis.cpp is used as `tryDelinearizeFixedSize(Src, Dst, SrcAccessFn, DstAccessFn, SrcSubscripts, DstSubscripts)`. What the refactoring would do is to replace it by `tryDelinearizeFixedSize(Src, SrcAccessFn, SrcSubscripts)`  and `tryDelinearizeFixedSize(Dst, DstAccessFn, DstSubscripts)`.

I am leaning towards doing the refactoring work in a separate patch after the current patch is landed, which may make the process cleaner and more trackable. Nevertheless, I am open to other approaches as well (such as putting the refactoring work in this patch too).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122857/new/

https://reviews.llvm.org/D122857

Files:
  llvm/include/llvm/Analysis/LoopCacheAnalysis.h
  llvm/lib/Analysis/LoopCacheAnalysis.cpp
  llvm/test/Analysis/LoopCacheAnalysis/PowerPC/LoopnestFixedSize.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122857.422727.patch
Type: text/x-patch
Size: 11145 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220414/1323a61b/attachment.bin>


More information about the llvm-commits mailing list