normalize the last delinearized dimension
authorSebastian Pop <spop@codeaurora.org>
Fri, 21 Feb 2014 18:15:11 +0000 (18:15 +0000)
committerSebastian Pop <spop@codeaurora.org>
Fri, 21 Feb 2014 18:15:11 +0000 (18:15 +0000)
commitf9cb030376b0b53369a1340b751a1fb83d81db2e
tree148b86e3117590fe801c1f0e56f2f55cd503ca9e
parentfc605ac12cd2035f6d096b53cbb2033e24bdc092
normalize the last delinearized dimension

in the dependence test, we used to discard some information that the
delinearization provides: the size of the innermost dimension of an array,
i.e., the size of scalars stored in the array, and the remainder of the
delinearization that provides the offset from which the array reads start,
i.e., the base address of the array.

To avoid losing this data in the rest of the data dependence analysis, the fix
is to multiply the access function in the last delinearized dimension by its
size, effectively making the size of the last dimension to always be in bytes,
and then add the remainder of delinearization to the last subscript,
effectively making the last subscript start at the base address of the array.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201867 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/DependenceAnalysis.cpp