Corrects a problem where we reply exclusively of GEPs to drive
authorPreston Briggs <preston.briggs@gmail.com>
Wed, 21 Nov 2012 23:50:04 +0000 (23:50 +0000)
committerPreston Briggs <preston.briggs@gmail.com>
Wed, 21 Nov 2012 23:50:04 +0000 (23:50 +0000)
commit72a2c0622ab072030c9108badea50074d96bec6a
tree526aace1ee6cd0126263e06eed2d23eae06d7d84
parent198ad916d736047f8a439f19dee25cee917df8a9
Corrects a problem where we reply exclusively of GEPs to drive
analysis.  Better is to look for cases with useful GEPs and use them
when possible.  When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.

In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168474 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
lib/Analysis/DependenceAnalysis.cpp
test/Analysis/DependenceAnalysis/Banerjee.ll
test/Analysis/DependenceAnalysis/Coupled.ll
test/Analysis/DependenceAnalysis/ExactRDIV.ll
test/Analysis/DependenceAnalysis/ExactSIV.ll
test/Analysis/DependenceAnalysis/GCD.ll
test/Analysis/DependenceAnalysis/Preliminary.ll
test/Analysis/DependenceAnalysis/Propagating.ll
test/Analysis/DependenceAnalysis/Separability.ll
test/Analysis/DependenceAnalysis/StrongSIV.ll
test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
test/Analysis/DependenceAnalysis/SymbolicSIV.ll
test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
test/Analysis/DependenceAnalysis/ZIV.ll