llvm-6502/lib
Chris Lattner 05e15f8897 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
2009-12-09 01:59:31 +00:00
..
Analysis Switch GVN and memdep to use PHITransAddr, which correctly handles 2009-12-09 01:59:31 +00:00
Archive Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
AsmParser Add MSP430 interrupt calling conv. No functionality change yet. 2009-12-07 02:27:35 +00:00
Bitcode Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions. 2009-11-07 00:16:28 +00:00
CodeGen Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 isl lowering code. 2009-12-09 01:53:58 +00:00
CompilerDriver Fix last DOTGraphTraits problems in CompilationGraph. 2009-11-30 13:34:51 +00:00
ExecutionEngine Fix the OProfileJITEventListener for StringRef being returned from debug info. 2009-12-07 22:32:38 +00:00
Linker Fix MemoryBuffer::getSTDIN to *not* return null if stdin is empty, this is a lame API. 2009-11-10 00:43:58 +00:00
MC Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Support Fix typo and add missing include. 2009-12-04 08:17:07 +00:00
System Fixes the Atomic implementation if compiled by MSVC compiler. 2009-12-07 05:29:59 +00:00
Target Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 isl lowering code. 2009-12-09 01:53:58 +00:00
Transforms Switch GVN and memdep to use PHITransAddr, which correctly handles 2009-12-09 01:59:31 +00:00
VMCore Remove useless calls to c_str(). 2009-12-08 13:07:38 +00:00
Makefile remove llvm-db: it is completely broken and if anyone wants to do a debugger, 2009-10-05 02:29:51 +00:00