<div dir="ltr">Hello,<div>there are several optimization levels in lli like O0, O1, O2, O3. What does they mean? how the run time optimization is performed in LLVM JIT?</div><div><br></div><div>I am working on a project where my goal is to study the impact of lli optimizations. here my IR is already optimized through opt. now i have to perform lli optimizations provided i am giving varying inputs at run time. so i suppose here my optimization level also depends on runtime input. like,</div><div>i am using following command.</div><div><br></div><div>time lli -O3 sum-vec03.ll  5 2<br></div><div><br></div><div>also after acquiring the execution time at different scenarios i plan to use some machine learning algorithm in order to predict the appropriate flag setting for given program and run time input.</div><div><br></div><div>Please help. Does this look appropriate approach? is my methodology correct?</div><div><br></div><div>Thank You</div></div>