[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:




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,

-------------- 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