[all-commits] [llvm/llvm-project] 7381fc: [TRE] Allow accumulator elimination when base case...

laytonio via All-commits all-commits at lists.llvm.org
Thu Jun 4 10:35:19 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7381fcdf6200b7e91d951ff34d82aac8010d0a66
      https://github.com/llvm/llvm-project/commit/7381fcdf6200b7e91d951ff34d82aac8010d0a66
  Author: Layton Kifer <laytonkifer at gmail.com>
  Date:   2020-06-04 (Thu, 04 Jun 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/test/Transforms/TailCallElim/accum_recursion.ll

  Log Message:
  -----------
  [TRE] Allow accumulator elimination when base case returns non-constant

Remove the requirement, that when performing accumulator elimination,
all other cases must return the same dynamic constant. We can do this by
initializing the accumulator with the identity value of the accumulation
operation, and inserting an additional operation before any return.

Differential Revision: https://reviews.llvm.org/D80844




More information about the All-commits mailing list