[LLVMdev] RFC: Recursive inlining

Pablo Barrio pablo.barrio at arm.com
Fri Feb 20 08:33:12 PST 2015


Chandler, thank you very much for working on this.

 

My manual implementation was a) using an extra unnecessary push+pop, and b) resulting in a very twisted and unoptimizable control flow. The one by Jeremy Lakeman is better.

 

Let me know if I can be of help with benchmarking/tuning for ARM architectures or anything else.

 

From: Chandler Carruth [mailto:chandlerc at google.com] 
Sent: 18 February 2015 21:01
To: Pablo Barrio
Cc: Hal Finkel; James Molloy; llvmdev at cs.uiuc.edu
Subject: Re: RFC: Recursive inlining

 

 

On Wed, Feb 18, 2015 at 12:57 PM, Pablo Barrio <Pablo.Barrio at arm.com> wrote:

Also, virtually all processors beyond a certain level of sophistication (let's say, meant to run an OS) feature a return-stack prediction mechanism. This results in highly-efficient branch prediction for calls+returns. Since we are transforming the "call jumps" into "switch jumps", we are probably misusing that piece of hardware.


Yes, it will be critical to use a branching pattern that similarly fits modern predictors. I don't think this will be hard though. Again, I'm continuing to work on a prototype actual pass.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150220/09546b8f/attachment.html>


More information about the llvm-dev mailing list