[PATCH] D102266: Recommit "[LAA] Support pointer phis in loop by analyzing each incoming pointer."

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 13 02:20:11 PDT 2021


fhahn updated this revision to Diff 372185.
fhahn added a comment.

In D102266#2992524 <https://reviews.llvm.org/D102266#2992524>, @Meinersbur wrote:

> IMHO, this and D109381 <https://reviews.llvm.org/D109381> only make sense together. Either we do register in-loop PHINodes in accesses or we do not. A PHI value might be used directly as well as indirectly giving us a mix of some PHINodes added to AddPointer while others are not. Always (also) registering the PHINode itself at least would not give use regressions. If we consider a PHINode in the accesses list a bug, could you add an assertion for it?

Sounds good!

folded the changes  from D109381 <https://reviews.llvm.org/D109381> into this patch in the latest version. I also updated the code to keep track of visited values to detect cycles and added a test case with cyclic phi nodes with irreducible control flow in 4c84a0f24c10 <https://reviews.llvm.org/rG4c84a0f24c105c72452c5fb8659d5206d180142a> (together with the other additonal test).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102266

Files:
  llvm/include/llvm/Analysis/LoopAccessAnalysis.h
  llvm/lib/Analysis/LoopAccessAnalysis.cpp
  llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
  llvm/test/Transforms/LoopDistribute/pointer-phi-in-loop.ll
  llvm/test/Transforms/LoopVectorize/vectorize-pointer-phis.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102266.372185.patch
Type: text/x-patch
Size: 15175 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210913/967e8ad5/attachment.bin>


More information about the llvm-commits mailing list