<div dir="ltr">As farĀ as I understand, gllvm doesn't run LTO pipeline or any cross-module optimization, and the optimization level provided is only used to compile each Translation Unit separately.<br>If you want to have LTO-like build, you can first run gllvm with `-O3 -Xclang -disable-llvm-optzns` (builds code with no optimizations, but doesn't emit optnone and nounwind attributes) and later run opt on the final bitcode. Note that the results might not be the same as running a proper LTO build because of different pass manager pipelines.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail-m_-3332214951725366524gmail_attr">On Mon, Jan 28, 2019 at 11:24 AM Peng Yu <<a href="mailto:pengyu.ut@gmail.com" target="_blank">pengyu.ut@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This works great.<br>
<br>
> You can also try using the gllvm wrapper: <a href="https://github.com/SRI-CSL/gllvm" rel="noreferrer" target="_blank">https://github.com/SRI-CSL/gllvm</a> ; it's quite reliable and easy to use in my experience.<br>
<br>
Just to be sure. Only one version of bc file will be generated that<br>
corresponds to the compiler options provide at configure?<br>
<br>
The original approach using ld.gold will provide several .bc files<br>
that correspond to different stages of the optimization.<br>
<br>
I think using gllvm, I need to specify the corresponding -O? option to<br>
the correct optimization stage of the bc file? Thanks.<br>
<br>
-- <br>
Regards,<br>
Peng<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-3332214951725366524gmail_signature"><div>Jakub Kuderski</div></div>