[LLVMdev] Autotuning parameters/heuristics within LLVM

John Criswell jtcriswel at gmail.com
Fri Oct 3 06:15:45 PDT 2014

Dear Jonas,

Very cool.

I've added a link to your paper on the LLVM publications page. Please 
feel free to email the list about other papers you or your group at EPFL 
publish that use LLVM; we love adding to the links on the Publications page.


John Criswell

On 10/3/14, 4:00 AM, Jonas Wagner wrote:
> Dear Robert,
> a while ago, we had this idea of using compiler optimizations to 
> increase the performance of /verifying/ an app, instead of the 
> performance of /executing/ it. We found that there were a number of 
> settings that had an effect on verification performance:
>   * The amount of loop unswitching |-loop-unswitch-threshold=...|
>   * The amount of loop unrolling |-unroll-threshold=...|
>   * The amount of function inlining |-inline-threshold=...|
>   * The amount of jump threading |-jump-threading-threshold=...|
>   * Whether to favor branches or select instructions
>     |-phi-node-folding-threshold=... -max-phi-to-fold-per-bb=...|
> The effect that these had on verification (in our case, exhaustive 
> symbolic testing) was quite drastic, with speedups of 95x in some cases.
> The core idea behind the work is that compilers use /cost models/ that 
> tell them how expensive an operation is. For verification, the costs 
> are different. I'm writing you because these settings also have an 
> impact en execution performance. If you find other parameters that 
> have large effects, I'd be thrilled to hear about it.
> Cheers,
> Jonas
> PS: more details on our experiments: 
> http://infoscience.epfl.ch/record/186012?ln=en 
> <http://infoscience.epfl.ch/record/186012?ln=en%3F>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

John Criswell
Assistant Professor
Department of Computer Science, University of Rochester

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141003/9997098c/attachment.html>

More information about the llvm-dev mailing list