diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-11-07 21:01:49 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-11-07 21:01:49 +0000 |
commit | e06ef141fc7a7f3ee3bec84176659d022eb85f9a (patch) | |
tree | f9dfbb778f6d639086259f6ca893c37fa5e21fa6 /clang/lib/CodeGen | |
parent | 2b5ba7bae667faccb096d15bb7fdb35d986a6a90 (diff) | |
download | bcm5719-llvm-e06ef141fc7a7f3ee3bec84176659d022eb85f9a.tar.gz bcm5719-llvm-e06ef141fc7a7f3ee3bec84176659d022eb85f9a.zip |
Avoid tail recursion elimination across calls with operand bundles
Summary:
In some specific scenarios with well understood operand bundle types
(like `"deopt"`) it may be possible to go ahead and convert recursion to
iteration, but TailRecursionElimination does not have that logic today
so avoid doing the right thing for now.
I need some input on whether `"funclet"` operand bundles should also
block tail recursion elimination. If not, I'll allow TRE across calls
with `"funclet"` operand bundles and add a test case.
Reviewers: rnk, majnemer, nlewycky, ahatanak
Subscribers: mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D26270
llvm-svn: 286147
Diffstat (limited to 'clang/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions