<div dir="ltr">As a general rule, lld-link is command line compatible with MSVC and clang-cl is command line compatible with cl.  So, the /order option should work exactly the same with lld-link as it does with link.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 7, 2018 at 7:00 AM Aleksandr Urakov via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">aleksandr.urakov added a comment.<br>
<br>
> Function level linking is a compiler feature, not a linker feature.  It's enabled via the /Gy option in the compiler and causes the compiler to put each function into its own COMDAT.  The linker can then use this to discard more functions (e.g. during /OPT:REF).<br>
> <br>
> clang-cl also supports the /Gy option, right?<br>
<br>
Yes, you are right. Sorry, I didn't know about such option in clang and googling by 'clang function-level linking' didn't show me any relevant information.<br>
<br>
But Pavel have prompted me Microsoft linker's option '/ORDER', and it is always possible to reproduce the problem with it. Without that option it was very difficult to reproduce. Has lld some analog?<br>
<br>
<br>
<a href="https://reviews.llvm.org/D47708" rel="noreferrer" target="_blank">https://reviews.llvm.org/D47708</a><br>
<br>
<br>
<br>
</blockquote></div>