<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div>Hello everyone, </div></div><div><br class=""></div><div>Nowadays, I’m researching about a compiler problem - “Phase Ordering Problem”.</div><div><br class=""></div><div>I would like to solve this problem ( or make better than O3) by using static analyze the llvm IR.</div><div><br class=""></div><div><br class=""></div><div>My method is: Get the passes of “-O3" and reorder them by random selection. Get many of the random passes and generate the llvm IR by these passes from a single source IR.</div><div><br class=""></div><div>for example:</div><div>The passes of O3: A, B, C </div><div><br class=""></div><div>get the pass, </div><div><br class=""></div><div>random 1 passes: A, C, B</div><div>random 2 passes: B, C, A </div><div>random 3 passes: C, A, B</div><div><br class=""></div><div>apply these pass on a identical source IR and get ‘four’ files: O3.ll, random1.ll, <span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">random2.ll, </span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">random3.ll</span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">How could I compare the performance of four of them by analyze the IR code ?</span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></span></div><div><font color="#000000" class="">Now I’m using the fit function like this formula [1] and calculate all of the IR I generate. And then get the max fit value of them.</font></div><div><br class=""></div><div><font color="#000000" class="">The one which has the max fit value is better than “-O3” but only faster about 10% or less. It is not enough for me. And the variables in the fit function I created are just selected by my experiments and I couldn’t find the paper or relative information about this issue.</font></div><div><font color="#000000" class=""><br class=""></font></div><div><font color="#000000" class=""><br class=""></font></div><div><font color="#000000" class="">I hope someone can help me to figure out or just give me a keyword to let me search and study.</font></div><div><font color="#000000" class=""><br class=""></font></div><div><font color="#000000" class="">thanks</font></div><div><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class=""></span></font></div><div><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class="">[1] </span></font><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""> (the lines of vectorbody blocks - store instconut - load instcount) / (instruction cost + instruction count)</span></div></body></html>