<div dir="ltr">Is there a way to build LLVM libraries with debug info and clang with release flags?<br><br>(I'm working on a frontend toy and figuring out what I've done to to crash LLVM is much easier with a debug build...)<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 1, 2017 at 10:47 AM, Hahnfeld, Jonas <span dir="ltr"><<a href="mailto:Hahnfeld@itc.rwth-aachen.de" target="_blank">Hahnfeld@itc.rwth-aachen.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="DE" link="#0563C1" vlink="#954F72"><div class="m_860922556957662238WordSection1"><span class=""><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">> </span><span lang="EN-US">cmake -G "MinGW Makefiles" \<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">  -DCMAKE_INSTALL_PREFIX=C:\LLVM \<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">  -DCMAKE_BUILD_TYPE=Debug \<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">  -DLLVM_ENABLE_ASSERTIONS=On \<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">  -DLLVM_TARGETS_TO_BUILD=X86 \<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">  </span>-DLLVM_ENABLE_CXX1Y=On \<u></u><u></u></p><p class="MsoNormal">  ../<u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p></span><p class="MsoNormal"><span lang="EN-US">CMAKE_BUILD_TYPE=Debug will result in a non-optimized compiler. Although I don’t have numbers at hand, you might want to set CMAKE_BUILD_TYPE=Release.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Jonas</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> cfe-dev [mailto:<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.<wbr>llvm.org</a>] <b>On Behalf Of </b>Nikodemus Siivola via cfe-dev<br><b>Sent:</b> Thursday, June 1, 2017 9:43 AM<br><b>To:</b> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><b>Subject:</b> [cfe-dev] clang-cl.exe (32bit) dog slow, capping at ~16.5% CPU<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">I was wondering why compiles were so slow and noticed that clang-cl.exe is never consuming more than ~16.5% CPU on my laptop. This is an i7-7700HQ, 32GB memory, running Windows 10 Pro.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Memory and disk use appear trivial as well, and the computer was otherwise mostly idle at the time. <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Compiling a trivial hello-world takes 11 seconds:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">$ clang --version</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">clang version 4.0.1</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">Target: i686-pc-windows-msvc</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">Thread model: posix</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">InstalledDir: C:\LLVM\bin</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">$ cat foo.cpp</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">#include <iostream></span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">int main()</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">{</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">    std::cout << "Yo" << std::endl;</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">    return 0;</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">}</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">$ time clang-cl foo.cpp</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">real    0m11.886s</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">user    0m0.015s</span><u></u><u></u></p></div><div><p class="MsoNormal"><span style="font-family:"Courier New"">sys     0m0.015s</span><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Compiling the same program under the Linux subsystem and clang-3.5 takes 0.16seconds. The Visual Studio commandline compiler is likewise almost instant.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">This is release_40 from one of the git mirrors, build built as part of the LLVM tree using Visual Studio 2015 command prompt, with (I think, not 100% sure, don't know cmake well enough to figure out after the fact) the following cmake invovations:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><div><p class="MsoNormal">cmake -G "MinGW Makefiles" \<u></u><u></u></p></div><div><p class="MsoNormal">  -DCMAKE_INSTALL_PREFIX=C:\LLVM \<u></u><u></u></p></div><div><p class="MsoNormal">  -DCMAKE_BUILD_TYPE=Debug \<u></u><u></u></p></div><div><p class="MsoNormal">  -DLLVM_ENABLE_ASSERTIONS=On \<u></u><u></u></p></div><div><p class="MsoNormal">  -DLLVM_TARGETS_TO_BUILD=X86 \<u></u><u></u></p></div><div><p class="MsoNormal">  -DLLVM_ENABLE_CXX1Y=On \<u></u><u></u></p></div><div><p class="MsoNormal">  ../<u></u><u></u></p></div></div><div><p class="MsoNormal">cmake --build .<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Did I pick spectacularly stupid build options or something?<u></u><u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>Any suggestions for figuring out what is going on? (Windows is not my regular platform so I'm a bit out of depth here.)<u></u><u></u></p><div><p class="MsoNormal">Cheers,<u></u><u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"> -- nikodemus<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></div></blockquote></div><br></div>