add support for recursive phi translation and phi
authorChris Lattner <sabre@nondot.org>
Fri, 27 Nov 2009 19:11:31 +0000 (19:11 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 27 Nov 2009 19:11:31 +0000 (19:11 +0000)
commit11c6bab704a0f82f59dcb2f409f7d6ac3b1821f1
tree274b2352759e9308594b6c57ff1ce1c014bab7ad
parent9a5c22cc5e741bc3022366e85825ba99236027ed
add support for recursive phi translation and phi
translation of add with immediate.  This allows us
to optimize this function:

void test(int N, double* G) {
  long j;
  G[1] = 1;
    for (j = 1; j < N - 1; j++)
        G[j+1] = G[j] + G[j+1];
}

to only do one load every iteration of the loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90013 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/MemoryDependenceAnalysis.cpp
test/Transforms/GVN/pre-load.ll