Skip to content
  1. Jul 22, 2010
  2. Jul 13, 2010
  3. Jul 12, 2010
  4. Jul 10, 2010
    • Duncan Sands's avatar
      The accumulator tail recursion transform claims to work for any associative · 82b21c08
      Duncan Sands authored
      operation, but the way it's implemented requires the operation to also be
      commutative.  So add a check for commutativity (and tweak the corresponding
      comments).  This makes no difference in practice since every associative
      LLVM instruction is also commutative!  Here's an example to show the need
      for commutativity: the accum_recursion.ll testcase calculates the factorial
      function.  Before the transformation the result of a call is
        ((((1*1)*2)*3)...)*x
      while afterwards it is
        (((1*x)*(x-1))...*2)*1
      which clearly requires both associativity and commutativity of * to be equal
      to the original.
      
      llvm-svn: 108056
      82b21c08
  5. Jun 26, 2010
  6. Jun 24, 2010
  7. May 28, 2010
  8. Apr 17, 2010
  9. Apr 16, 2010
  10. Apr 15, 2010
  11. Feb 03, 2010
  12. Jan 31, 2010
  13. Jan 30, 2010
  14. Nov 07, 2009
  15. Sep 02, 2009
  16. Aug 13, 2009
  17. Jun 19, 2009
  18. May 06, 2009
  19. Sep 04, 2008
  20. Jun 14, 2008
  21. May 15, 2008
  22. May 13, 2008
  23. Apr 06, 2008
  24. Mar 11, 2008
  25. Feb 20, 2008
  26. Dec 29, 2007
  27. Sep 10, 2007
  28. May 06, 2007
  29. May 03, 2007
  30. May 02, 2007
  31. May 01, 2007
  32. Mar 22, 2007
  33. Feb 11, 2007
Loading