Skip to content
  1. Nov 12, 2009
    • Evan Cheng's avatar
      - Teach LSR to avoid changing cmp iv stride if it will create an immediate that · 85a9f430
      Evan Cheng authored
        cannot be folded into target cmp instruction.
      - Avoid a phase ordering issue where early cmp optimization would prevent the
        later count-to-zero optimization.
      - Add missing checks which could cause LSR to reuse stride that does not have
        users.
      - Fix a bug in count-to-zero optimization code which failed to find the pre-inc
        iv's phi node.
      - Remove, tighten, loosen some incorrect checks disable valid transformations.
      - Quite a bit of code clean up.
      
      llvm-svn: 86969
      85a9f430
  2. Nov 11, 2009
  3. Nov 10, 2009
  4. Nov 06, 2009
  5. Nov 05, 2009
  6. Oct 26, 2009
    • Dan Gohman's avatar
      Make LSR's OptimizeShadowIV ignore induction variables with negative · d632f895
      Dan Gohman authored
      strides for now, because it doesn't handle them correctly. This fixes a
      miscompile of SingleSource/Benchmarks/Misc-C++/ray.
      
      This problem was usually hidden because indvars transforms such induction
      variables into negations of canonical induction variables.
      
      llvm-svn: 85118
      d632f895
  7. Oct 25, 2009
  8. Sep 27, 2009
  9. Sep 08, 2009
    • Dan Gohman's avatar
      Re-apply r80926, with fixes: keep the domtree informed of new blocks · 3ddbc242
      Dan Gohman authored
      that get created during loop unswitching, and fix SplitBlockPredecessors'
      LCSSA updating code to create new PHIs instead of trying to just move
      existing ones.
      
      Also, optimize Loop::verifyLoop, since it gets called a lot. Use
      searches on a sorted list of blocks instead of calling the "contains"
      function, as is done in other places in the Loop class, since "contains"
      does a linear search. Also, don't call verifyLoop from LoopSimplify or
      LCSSA, as the PassManager is already calling verifyLoop as part of
      LoopInfo's verifyAnalysis.
      
      llvm-svn: 81221
      3ddbc242
  10. Sep 06, 2009
  11. Sep 03, 2009
  12. Sep 02, 2009
  13. Aug 23, 2009
  14. Aug 13, 2009
  15. Aug 11, 2009
  16. Aug 05, 2009
  17. Jul 31, 2009
  18. Jul 30, 2009
  19. Jul 29, 2009
  20. Jul 27, 2009
  21. Jul 26, 2009
  22. Jul 25, 2009
  23. Jul 22, 2009
  24. Jul 13, 2009
  25. Jul 10, 2009
  26. Jul 07, 2009
  27. Jul 03, 2009
  28. Jun 24, 2009
  29. Jun 22, 2009
  30. Jun 20, 2009
  31. Jun 19, 2009
  32. Jun 18, 2009
  33. Jun 17, 2009
  34. Jun 16, 2009
    • Dan Gohman's avatar
      Support vector casts in more places, fixing a variety of assertion · 7ccc52f1
      Dan Gohman authored
      failures.
      
      To support this, add some utility functions to Type to help support
      vector/scalar-independent code. Change ConstantInt::get and
      ConstantFP::get to support vector types, and add an overload to
      ConstantInt::get that uses a static IntegerType type, for
      convenience.
      
      Introduce a new getConstant method for ScalarEvolution, to simplify
      common use cases.
      
      llvm-svn: 73431
      7ccc52f1
Loading