Skip to content
  1. Apr 12, 2010
  2. Apr 11, 2010
  3. Apr 08, 2010
    • Dan Gohman's avatar
      Generalize IVUsers to track arbitrary expressions rather than expressions · d006ab90
      Dan Gohman authored
      explicitly split into stride-and-offset pairs. Also, add the
      ability to track multiple post-increment loops on the same expression.
      
      This refines the concept of "normalizing" SCEV expressions used for
      to post-increment uses, and introduces a dedicated utility routine for
      normalizing and denormalizing expressions.
      
      This fixes the expansion of expressions which are post-increment users
      of more than one loop at a time. More broadly, this takes LSR another
      step closer to being able to reason about more than one loop at a time.
      
      llvm-svn: 100699
      d006ab90
  4. Apr 03, 2010
  5. Apr 02, 2010
  6. Mar 23, 2010
  7. Mar 20, 2010
    • Dan Gohman's avatar
      Clear the SCEVExpander's insertion point after making deletions, · 1a2abe55
      Dan Gohman authored
      so that the SCEVExpander doesn't retain a dangling pointer as its
      insert position. The dangling pointer in this case wasn't ever used
      to insert new instructions, but it was causing trouble with
      SCEVExpander's code for automatically advancing its insert position
      past debug intrinsics.
      
      This fixes use-after-free errors that valgrind noticed in
      test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and
      test/Transforms/IndVarSimplify/exit_value_tests.ll.
      
      llvm-svn: 99036
      1a2abe55
  8. Mar 15, 2010
  9. Mar 10, 2010
  10. Mar 01, 2010
  11. Feb 25, 2010
    • Dan Gohman's avatar
      Make LoopSimplify change conditional branches in loop exiting blocks · a9c205cc
      Dan Gohman authored
      which branch on undef to branch on a boolean constant for the edge
      exiting the loop. This helps ScalarEvolution compute trip counts for
      loops.
      
      Teach ScalarEvolution to recognize single-value PHIs, when safe, and
      ForgetSymbolicName to forget such single-value PHI nodes as apprpriate
      in ForgetSymbolicName.
      
      llvm-svn: 97126
      a9c205cc
  12. Feb 22, 2010
  13. Feb 19, 2010
  14. Feb 18, 2010
  15. Feb 16, 2010
  16. Feb 12, 2010
  17. Feb 10, 2010
  18. Jan 21, 2010
    • Dan Gohman's avatar
      Re-implement the main strength-reduction portion of LoopStrengthReduction. · 51ad99d2
      Dan Gohman authored
      This new version is much more aggressive about doing "full" reduction in
      cases where it reduces register pressure, and also more aggressive about
      rewriting induction variables to count down (or up) to zero when doing so
      reduces register pressure.
      
      It currently uses fairly simplistic algorithms for finding reuse
      opportunities, but it introduces a new framework allows it to combine
      multiple strategies at once to form hybrid solutions, instead of doing
      all full-reduction or all base+index.
      
      llvm-svn: 94061
      51ad99d2
  19. Jan 05, 2010
  20. Dec 18, 2009
  21. Nov 05, 2009
  22. Oct 31, 2009
  23. Oct 27, 2009
  24. Sep 27, 2009
Loading