[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