Skip to content
  1. Oct 28, 2009
  2. Oct 27, 2009
  3. Oct 25, 2009
  4. Oct 23, 2009
  5. Oct 21, 2009
  6. Sep 21, 2009
  7. Sep 20, 2009
  8. Sep 14, 2009
  9. Aug 12, 2009
  10. Jul 21, 2009
  11. Jul 09, 2009
  12. May 12, 2009
    • Dan Gohman's avatar
      Factor the code for collecting IV users out of LSR into an IVUsers class, · d76d71a2
      Dan Gohman authored
      and generalize it so that it can be used by IndVarSimplify. Implement the
      base IndVarSimplify transformation code using IVUsers. This removes
      TestOrigIVForWrap and associated code, as ScalarEvolution now has enough
      builtin overflow detection and folding logic to handle all the same cases,
      and more. Run "opt -iv-users -analyze -disable-output" on your favorite
      loop for an example of what IVUsers does.
      
      This lets IndVarSimplify eliminate IV casts and compute trip counts in
      more cases. Also, this happens to finally fix the remaining testcases
      in PR1301.
      
      Now that IndVarSimplify is being more aggressive, it occasionally runs
      into the problem where ScalarEvolutionExpander's code for avoiding
      duplicate expansions makes it difficult to ensure that all expanded
      instructions dominate all the instructions that will use them. As a
      temporary measure, IndVarSimplify now uses a FixUsesBeforeDefs function
      to fix up instructions inserted by SCEVExpander. Fortunately, this code
      is contained, and can be easily removed once a more comprehensive
      solution is available.
      
      llvm-svn: 71535
      d76d71a2
  13. May 11, 2009
  14. May 09, 2009
  15. Mar 28, 2009
  16. Feb 25, 2009
  17. Feb 20, 2009
  18. Jan 24, 2009
  19. Jan 22, 2009
  20. Jan 20, 2009
  21. Jan 08, 2009
  22. Dec 31, 2008
  23. Dec 23, 2008
  24. Dec 15, 2008
  25. Dec 10, 2008
  26. Dec 07, 2008
  27. Dec 06, 2008
  28. Dec 02, 2008
  29. Dec 01, 2008
Loading