[LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM

Andrew Trick atrick at apple.com
Mon Dec 23 14:41:00 PST 2013


On Dec 16, 2013, at 4:26 PM, Hal Finkel <hfinkel at anl.gov> wrote:

>> At the end of each iteration, quality of generated code is estimated
>> by
>> executing newly introduced target dependent pass. Based on results
>> path for
>> the following iteration is calculated. At the moment, this has been
>> proved
>> for MIPS only and it is based on code size.
> 
> I think that, in general, we ought to be able to get an overall latency estimate from the instruction scheduler.

This is somewhat tangential to the thread… I think it would be great to have a static performance estimator. I’m thinking of an MI-level library that simulates a loop using the machine model until it settles on an average number of cycles per iteration. A simple tool could handle the most probable path through the loop. It could be extended to handle averaging across a small number of paths if needed. Estimating in-order cycles is easy enough. I also developed simplified model for estimating OOO core cycles—I don’t have working code any more, as it doesn’t serve any purpose in the code base.

-Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131223/0e44023d/attachment.html>


More information about the llvm-dev mailing list