[llvm-dev] Programmatically Toggle Specific LLVM Optimizations

Qiongsi Wu via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 1 08:02:00 PDT 2018

Hi everyone!

First time poster here. Apologies if I am breaking some rules and please 
let me know so I will not break it again!

I am a summer research student at the Computer Science Department at the 
University of Toronto and I am working on benchmarking LLVM optimizations.

I tried looking for it online but was not able to find a programmatic 
way to toggle specific LLVM optimizations. For example, I would like to 
compile using the -O3 flag but with LICM turned off to see how much the 
compiled binary degrades in performance. I would like the ability to 
simultaneously toggle a few optimizations together as well. I would like 
to benchmark many optimizations so I would like to program the experiments.

So to be really specific, there are two questions:

1. Are there some command line interfaces that can accomplish this task? 
Is there a way to write a bash script to enumerate through the 
optimizations and turning them off one a time?

2. If not, what is a good guide to PassManager so that I can program 
this functionality?

Thanks so much for your help!


UTEA Reserach Student 2018, EcoSystem
Computer Science, University of Toronto

More information about the llvm-dev mailing list