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

Hal Finkel hfinkel at anl.gov
Wed Jan 1 16:41:13 PST 2014

----- Original Message -----
> From: "Andrew Trick" <atrick at apple.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "Radovan Obradovic" <Radovan.Obradovic at imgtec.com>, "llvmdev at cs.uiuc.edu Dev" <llvmdev at cs.uiuc.edu>
> Sent: Monday, December 23, 2013 4:41:00 PM
> Subject: Re: [LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM
> 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

Can you describe the model? I'm curious how you did this.

Thanks again,

>—I don’t have working
> code any more, as it doesn’t serve any purpose in the code base.
> -Andy

Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory

More information about the llvm-dev mailing list