[LLVMdev] Autotuning parameters/heuristics within LLVM
jtcriswel at gmail.com
Fri Oct 3 06:15:45 PDT 2014
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.
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.
> PS: more details on our experiments:
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
Department of Computer Science, University of Rochester
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev