[LAA] Use cross-iteration alias analysis
authorNikita Popov <npopov@redhat.com>
Mon, 14 Nov 2022 15:13:51 +0000 (16:13 +0100)
committerNikita Popov <npopov@redhat.com>
Mon, 5 Dec 2022 08:27:13 +0000 (09:27 +0100)
commit4de3184f07fd8c548125d315dd306d4afa7c9698
treebf5f515b676b37293f8a045ef032b6459d976de5
parent140307379075ddd5aa6593d74c89e519baea7238
[LAA] Use cross-iteration alias analysis

LAA analyzes cross-iteration memory dependencies, as such AA should
not make assumptions about equality of values inside the loop, as
they may come from different iterations.

Fix this by exposing the MayBeCrossIteration AA flag and enabling
it for LAA.

Differential Revision: https://reviews.llvm.org/D137958
llvm/include/llvm/Analysis/AliasAnalysis.h
llvm/lib/Analysis/LoopAccessAnalysis.cpp
llvm/test/Analysis/LoopAccessAnalysis/select-dependence.ll [new file with mode: 0644]