[LLVMdev] Recursion inlining
Pablo Barrio
pablo.barrio at arm.com
Fri Dec 5 02:10:11 PST 2014
Hi all,
The default inliner currently marks all recursive functions as "never"
inline when calculating the cost (CallAnalyzer::analyzeCall() in
lib/Analysis/IPA/InlineCost.cpp). Is there any reason for this? Did anyone
try to implement recursion inlining in the past and failed? Or succeeded,
but it was dropped later on? All I found was a thread from a few years ago:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/043732.html
I would expect some performance benefits in recursion inlining, obviously at
the cost of code size increase. However, the heuristics could be tuned up so
as to get a reasonable size/performance tradeoff.
Many thanks,
Pablo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141205/66949e6f/attachment.html>
More information about the llvm-dev
mailing list