[AA] Teach BasicAA to recognize basic GEP range information.
authorClement Courbet <courbet@google.com>
Tue, 14 Sep 2021 07:03:57 +0000 (09:03 +0200)
committerClement Courbet <courbet@google.com>
Thu, 30 Sep 2021 06:29:32 +0000 (08:29 +0200)
commit455b60ccfbfdbb5d2b652666050544c31e6673b1
tree308267b3c2bf074983f596a6e70faa9e8039ef0a
parentdd13f45e04366cc4f648b57ec87d20a5569e27c3
[AA] Teach BasicAA to recognize basic GEP range information.

The information can be implicit (from `ValueTracking`) or explicit.

This implements the backend part of the following RFC
https://groups.google.com/g/llvm-dev/c/T9o51zB1JY.

We still need to settle on how to best represent the information in the
IR, but this is a separate discussion.

Differential Revision: https://reviews.llvm.org/D109746
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/test/Analysis/BasicAA/assume-index-positive.ll
llvm/test/Analysis/BasicAA/range.ll [new file with mode: 0644]
llvm/test/Analysis/BasicAA/sequential-gep.ll