OSDN Git Service

BasicAA: GEPs of NoAlias'ing base ptr with equivalent indices are NoAlias
authorArnold Schwaighofer <arnolds@codeaurora.org>
Thu, 6 Sep 2012 14:31:51 +0000 (14:31 +0000)
committerArnold Schwaighofer <arnolds@codeaurora.org>
Thu, 6 Sep 2012 14:31:51 +0000 (14:31 +0000)
commit029032693fdb065b6edfff6d68df188f98bee8ac
tree6acbf33c7f4e1a641f1d67aef5c1073ea3b373ec
parent79cb162e5d7aeaa3602bf4a7afa253232f461b33
BasicAA: GEPs of NoAlias'ing base ptr with equivalent indices are NoAlias

If we can show that the base pointers of two GEPs don't alias each other using
precise analysis and the indices and base offset are equal then the two GEPs
also don't alias each other.
This is primarily needed for the follow up patch that analyses NoAlias'ing PHI
nodes.

Part 1/2 of fix for PR13564.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163317 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/BasicAliasAnalysis.cpp
test/Analysis/BasicAA/noalias-geps.ll [new file with mode: 0644]