Skip to content
  1. Dec 09, 2009
    • Chris Lattner's avatar
      add some aborts to #if 0's. · 946b58dd
      Chris Lattner authored
      llvm-svn: 90929
      946b58dd
    • Chris Lattner's avatar
      Switch GVN and memdep to use PHITransAddr, which correctly handles · 972e6d8d
      Chris Lattner authored
      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
      972e6d8d
  2. Dec 06, 2009
  3. Dec 03, 2009
  4. Dec 02, 2009
  5. Nov 28, 2009
  6. Nov 27, 2009
  7. Nov 14, 2009
  8. Nov 10, 2009
    • Jeffrey Yasskin's avatar
      Fix DenseMap iterator constness. · b40d3f76
      Jeffrey Yasskin authored
      This patch forbids implicit conversion of DenseMap::const_iterator to
      DenseMap::iterator which was possible because DenseMapIterator inherited
      (publicly) from DenseMapConstIterator. Conversion the other way around is now
      allowed as one may expect.
      
      The template DenseMapConstIterator is removed and the template parameter
      IsConst which specifies whether the iterator is constant is added to
      DenseMapIterator.
      
      Actually IsConst parameter is not necessary since the constness can be
      determined from KeyT but this is not relevant to the fix and can be addressed
      later.
      
      Patch by Victor Zverovich!
      
      llvm-svn: 86636
      b40d3f76
  9. Oct 31, 2009
  10. Oct 30, 2009
  11. Oct 28, 2009
  12. Oct 27, 2009
  13. Oct 23, 2009
  14. Oct 21, 2009
    • Chris Lattner's avatar
      make GVN work better when TD is not around: · 8ed7bef4
      Chris Lattner authored
      "In the existing code, if the load and the value to replace it with are
      of different types *and* target data is available, it tries to use the
      target data to coerce the replacement value to the type of the load.
      Otherwise, it skips all effort to handle the type mismatch and just
      feeds the wrongly-typed replacement value to replaceAllUsesWith, which
      triggers an assertion.
      
      The patch replaces it with an outer if checking for type mismatch, and
      an inner if-else that checks whether target data is available and, if
      not, returns false rather than trying to replace the load."
      
      Patch by Kenneth Uildriks!
      
      llvm-svn: 84739
      8ed7bef4
  15. Oct 20, 2009
  16. Oct 19, 2009
  17. Oct 14, 2009
  18. Oct 11, 2009
  19. Oct 10, 2009
  20. Sep 27, 2009
  21. Sep 21, 2009
  22. Sep 20, 2009
Loading