diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-09 01:59:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-09 01:59:31 +0000 |
commit | 05e15f8897bd949f9d4bce073d53ed3256c71e2b (patch) | |
tree | e9f03085680ca3f56f93dd7899cda45e972b090b /test/Makefile | |
parent | 7bd6478cd6a1264f884b46f3694af3a68a6fab0a (diff) | |
download | external_llvm-05e15f8897bd949f9d4bce073d53ed3256c71e2b.zip external_llvm-05e15f8897bd949f9d4bce073d53ed3256c71e2b.tar.gz external_llvm-05e15f8897bd949f9d4bce073d53ed3256c71e2b.tar.bz2 |
Switch GVN and memdep to use PHITransAddr, which correctly handles
phi translation of complex expressions like &A[i+1]. This has the
following benefits:
1. The phi translation logic is all contained in its own class with
a strong interface and verification that it is self consistent.
2. The logic is more correct than before. Previously, if intermediate
expressions got PHI translated, we'd miss the update and scan for
the wrong pointers in predecessor blocks. @phi_trans2 is a testcase
for this.
3. We have a lot less code in memdep.
We can handle phi translation across blocks of things like @phi_trans3,
which is pretty insane :).
This patch should fix the miscompiles of 255.vortex, and I tested it
with a bootstrap of llvm-gcc, llvm-test and dejagnu of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90926 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Makefile')
0 files changed, 0 insertions, 0 deletions