Skip to content
  1. Jul 27, 2010
  2. Jul 26, 2010
  3. Jul 22, 2010
  4. Jul 20, 2010
  5. Jul 16, 2010
  6. Jul 15, 2010
  7. Jul 13, 2010
  8. Jul 12, 2010
  9. 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
  10. Jul 09, 2010
  11. Jul 08, 2010
  12. Jul 06, 2010
  13. Jul 02, 2010
  14. Jun 30, 2010
  15. Jun 28, 2010
  16. Jun 27, 2010
  17. Jun 26, 2010
Loading