Skip to content
  1. Apr 22, 2008
    • Chris Lattner's avatar
      refactor some code, no functionality change. · e369c35a
      Chris Lattner authored
      llvm-svn: 50094
      e369c35a
    • Chris Lattner's avatar
      remove dead code. · 8fb13cbe
      Chris Lattner authored
      llvm-svn: 50080
      8fb13cbe
    • Chris Lattner's avatar
      optimize "p != gep p, ..." better. This allows us to compile · c3a43935
      Chris Lattner authored
      getelementptr-seteq.ll into:
      
      define i1 @test(i64 %X, %S* %P) {
      	%C = icmp eq i64 %X, -1		; <i1> [#uses=1]
      	ret i1 %C
      }
      
      instead of:
      
      define i1 @test(i64 %X, %S* %P) {
      	%A.idx.mask = and i64 %X, 4611686018427387903		; <i64> [#uses=1]
      	%C = icmp eq i64 %A.idx.mask, 4611686018427387903		; <i1> [#uses=1]
      	ret i1 %C
      }
      
      And fixes the second half of PR2235.  This speeds up the insertion sort
      case by 45%, from 1.12s to 0.77s.  In practice, this will significantly
      speed up for loops structured like:
      
      for (double *P = Base + N; P != Base; --P)
        ...
      
      Which happens frequently for C++ iterators.
      
      llvm-svn: 50079
      c3a43935
  2. Apr 21, 2008
  3. Apr 20, 2008
  4. Apr 17, 2008
  5. Apr 14, 2008
  6. Apr 13, 2008
  7. Apr 11, 2008
  8. Apr 10, 2008
    • Dan Gohman's avatar
      Teach InstCombine's ComputeMaskedBits to handle pointer expressions · 99b7b3f0
      Dan Gohman authored
      in addition to integer expressions. Rewrite GetOrEnforceKnownAlignment
      as a ComputeMaskedBits problem, moving all of its special alignment
      knowledge to ComputeMaskedBits as low-zero-bits knowledge.
      
      Also, teach ComputeMaskedBits a few basic things about Mul and PHI
      instructions.
      
      This improves ComputeMaskedBits-based simplifications in a few cases,
      but more noticeably it significantly improves instcombine's alignment
      detection for loads, stores, and memory intrinsics.
      
      llvm-svn: 49492
      99b7b3f0
  9. Apr 09, 2008
  10. Apr 07, 2008
  11. Apr 06, 2008
  12. Apr 02, 2008
    • David Greene's avatar
      · 586740f4
      David Greene authored
      Iterators folloring a SmallVector erased element are invalidated so
      don't access cached iterators from after the erased element.
      
      Re-apply 49056 with SmallVector support.
      
      llvm-svn: 49106
      586740f4
    • Tanya Lattner's avatar
      Reverting 49056 due to the build being broken. · 052838c5
      Tanya Lattner authored
      llvm-svn: 49060
      052838c5
    • David Greene's avatar
      · 7f7edc38
      David Greene authored
      Iterators folloring a SmallVector erased element are invalidated so
      don't access cached iterators from after the erased element.
      
      llvm-svn: 49056
      7f7edc38
  13. Mar 31, 2008
  14. Mar 30, 2008
  15. Mar 29, 2008
  16. Mar 28, 2008
    • Chris Lattner's avatar
      make memset inference significantly more powerful: it can now handle · d62964a7
      Chris Lattner authored
      memsets that initialize "structs of arrays" and other store sequences
      that are not sequential.  This is still only enabled if you pass 
      -form-memset-from-stores.  The flag is not heavily tested and I haven't
      analyzed the perf regressions when -form-memset-from-stores is passed
      either, but this causes no make check regressions.
      
      llvm-svn: 48909
      d62964a7
  17. Mar 27, 2008
  18. Mar 25, 2008
Loading