<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 17, 2020 at 7:15 AM Jan Ryšavý via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</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">Thank you for this idea. Trouble with LibTooling in Release build is we must use Release build also for our utility (Windows executable), otherwise we are receiving following RTL conflicts:<br></blockquote><div><br>Why would you not want to build your utility in Release mode in any case where performance/runtime speed of the program matters to you? Perhaps some more context would be helpful to understand the tradeoffs you're trying to make.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
1>clangAST.lib(DeclarationName.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in CmdLineUtils.obj<br>
1>clangAST.lib(ASTTypeTraits.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in CmdLineUtils.obj<br>
etc.<br>
<br>
Of course we can turn off optimizations and debug in Release build...<br>
<br>
Best regards<br>
Jan Rysavy<br>
<br>
On 17.02.2020 15:13, Whisperity wrote:<br>
> Unless you need the actual Debug build for anything, maybe try sticking to assertions and a release build? (-DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release) Release build is fast, small, and with enough assertions (and maybe putting "llvm/Support/Debug.h" into the file and calling the frontend with -debug?) you could get most of the stuff you need for debugging.<br>
> <br>
> Jan Ryšavý via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>> ezt írta (időpont: 2020. febr. 17., H, 10:19):<br>
> <br>
>     We are using Clang LibTooling for source-to-source conversion. Size of converted headers is around 10MB.<br>
> <br>
>     Release version of our conversion utility works fine, but debug version is spending 20 seconds in clang::ParseAST.<br>
> <br>
>     Is there any chance how to speed up parsing, for example using precompiled headers (or storing parsed AST)?<br>
> <br>
>     Could you please point me in the right direction?<br>
> <br>
>     Best regards<br>
>     Jan Rysavy<br>
>     _______________________________________________<br>
>     cfe-dev mailing list<br>
>     <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
>     <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
> <br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div>