[PATCH] D114479: [LAA] Keep track of ptr SCEV related to MemAccessInfo (WIP).

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 23 14:56:19 PST 2021


fhahn created this revision.
Herald added subscribers: javed.absar, hiraditya.
fhahn requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch extends MemAccessInfo and PointerInfo to track the associated
SCEV for the pointer. The SCEV expressions is then used instead of
accessing ScalarEvolution on demand.

This has multiple benefits:

1. We only need to replace symbolic strides once, up front.
2. Allows for more flexibility to have accesses with different SCEV expressions for their pointers.For example, it allows adding 2 MemAccessInfo for a pointer fed by a select.

This is still a bit rough around the edges. In particular the printing
is still missing the SCEV expression.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114479

Files:
  llvm/include/llvm/Analysis/LoopAccessAnalysis.h
  llvm/lib/Analysis/LoopAccessAnalysis.cpp
  llvm/lib/Transforms/Scalar/LoopDistribute.cpp
  llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
  llvm/test/Transforms/LoopLoadElim/symbolic-stride.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114479.389325.patch
Type: text/x-patch
Size: 31792 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211123/a20cbfdd/attachment.bin>


More information about the llvm-commits mailing list