[PATCH] D80844: [TRE] Allow accumulator elimination when base case returns non-constant

Layton Kifer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 18:26:15 PDT 2020


laytonio added a comment.

> What happens if there are multiple tail calls in a function using different accumulators?

Currently on trunk, and after this patch, we only eliminate the first accumulating call we find and ignore any potential others. I think in the future it would be pretty easy to allow multiple accumulators of the same operation (eg. mul mul). In cases like the one you posted with different accumulator operations (eg. mul add), it is a lot more tricky (and I'm not sure possible) because of the operations happen in reverse order.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80844/new/

https://reviews.llvm.org/D80844





More information about the llvm-commits mailing list