summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-12-09 01:59:31 +0000
committerChris Lattner <sabre@nondot.org>2009-12-09 01:59:31 +0000
commit972e6d8d00e9d86e0dc11fbc0fdd3acebcf58fd6 (patch)
treecb6223ade13c1aab1b6818e97c15111fe0ab87d7 /clang/lib/CodeGen/CodeGenModule.cpp
parentd938faff4b27248e0c2eac9858562ba778097ea6 (diff)
downloadbcm5719-llvm-972e6d8d00e9d86e0dc11fbc0fdd3acebcf58fd6.tar.gz
bcm5719-llvm-972e6d8d00e9d86e0dc11fbc0fdd3acebcf58fd6.zip
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. llvm-svn: 90926
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud