<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 16, 2016 at 3:36 PM, <a href="mailto:jpsota@gmail.com">jpsota@gmail.com</a> <span dir="ltr"><<a href="mailto:jpsota@gmail.com" target="_blank">jpsota@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Wed, Mar 16, 2016 at 5:55 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Mar 16, 2016 at 2:12 PM, <a href="mailto:jpsota@gmail.com" target="_blank">jpsota@gmail.com</a> <span dir="ltr"><<a href="mailto:jpsota@gmail.com" target="_blank">jpsota@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">David and all, a couple more questions.  I stumbled upon <a href="http://llvm.org/docs/Packaging.html" target="_blank">http://llvm.org/docs/Packaging.html</a> and see a few other options. For a typical clang build where I am not hacking on clang, but I do want good error messages for debugging my programs, </div></blockquote><div><br></div></span><div>Define "my programs" - are you using LLVM as a library? If so, you probably want a with-asserts build for development so you get better failures when you use LLVM incorrectly. If you're just using Clang as a normal compiler - a build without assertions should be just fine. If you hit a crash in the compiler you can still file it, and we'll run in with an assertions-enabled build to investigate further, generally.</div><span><div></div></span></div></div></div></blockquote><div><br></div></span><div>Just using clang (and clang tools) -- not using LLVM as a library. So, running without assertions seems right for my needs.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">which options are recommended [1]? It seems like I should use --disable-assertions, but I'm not sure about enable-debug-symbols and enable-optimized (which seem at odds with each other?).</div></blockquote><div><br></div></span><div>If you're using LLVM as a library, but not expecting to be able to fix any bugs in it yourself, probably optimized with assertiotns and without debug info should be fine.<br><br>If you're just using clang as a compiler, release (optimized), no assertions, no debug info.</div><span><div> </div></span></div></div></div></blockquote><div><br></div></span><div>It seems that just enabling -DCMAKE_BUILD_TYPE=Release is not sufficient to turn off assertions as I tried that and when I run clang-tidy --version it says " LLVM version 3.9.0svn; Optimized build with assertions." So, I'm going to try <span style="color:rgb(0,0,0);font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:13.3px;line-height:21px">--disable-assertions </span><span style="color:rgb(0,0,0);font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:13.3px;line-height:21px">--enable-optimized </span><span style="color:rgb(0,0,0);font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:13.3px;line-height:21px">--disable-debug-symbols </span><span style="color:rgb(0,0,0);font-size:13.3px;line-height:21px"><font face="arial, helvetica, sans-serif">(or the environment variable equivalents).</font></span></div><div><span style="color:rgb(0,0,0);font-size:13.3px;line-height:21px"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span style="color:rgb(0,0,0);font-size:13.3px;line-height:21px"><font face="arial, helvetica, sans-serif">That seem right to you?</font></span></div></div></div></div></blockquote><div><br></div><div>Yeah, sounds about right.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><span style="color:rgb(0,0,0);font-size:13.3px;line-height:21px"><font face="arial, helvetica, sans-serif"> It's still confusing to me that there's no CMAKE_BUILD_TYPE that enables these sorts of options as a bundle, but I guess that's what I get from compiling from source. </font></span></div></div></div></div></blockquote><div><br></div><div>Yeah - not sure what the right recipe is for building things the same as the official releases. No doubt it's written down somewhere... </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><span style="color:rgb(0,0,0);font-size:13.3px;line-height:21px"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span style="color:rgb(0,0,0);font-size:13.3px;line-height:21px"><font face="arial, helvetica, sans-serif">Thanks</font></span></div><div><div class="h5"><div><font color="#000000" face="arial, helvetica, sans-serif"><span style="font-size:13.3px;line-height:21px">Jim</span></font></div>







<div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><div><span style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em;color:rgb(0,0,0);line-height:21px">[1] </span></div></span><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><dt style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>--disable-assertions</span></tt></dt><dt style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><span style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em">--enable-debug-symbols</span></dt><dt style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>--enable-optimized</span></tt></dt><dt style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span><br></span></tt></dt><dt style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>[2]</span></tt></dt><dt style="color:rgb(0,0,0);font-family:'Lucida Grande','Lucida Sans Unicode',Geneva,Verdana,sans-serif;font-size:14px;line-height:21px"><tt style="font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em"><span>







<p><span>$ clang --version</span></p>
<p><span>clang version 3.9.0 (trunk 263648)</span></p><span>
<p><span>Target: x86_64-apple-darwin15.0.0</span></p>
<p><span>Thread model: posix</span></p>
<p><span>InstalledDir: /Users/jim/toolchains/llvm/bin</span></p></span></span></tt></dt></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 16, 2016 at 2:05 PM, <a href="mailto:jpsota@gmail.com" target="_blank">jpsota@gmail.com</a> <span dir="ltr"><<a href="mailto:jpsota@gmail.com" target="_blank">jpsota@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Got it -- thanks!<div><div><span></span><br><br>On Wednesday, March 16, 2016, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 16, 2016 at 7:25 AM, <a>jpsota@gmail.com</a> via cfe-users <span dir="ltr"><<a>cfe-users@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Hi, I recently installed "Release" clang (svn r263305) from source on my OSX machine, and it's compiling a 20 file C++ program about 50% slower than the natively installed clang 3.7 (that came with xcode, I believe, although I don't use xcode). I currently have both sets of tools installed and am able to switch back and forth and verify using time that clang 3.7 takes about 30 seconds and clang 3.9 takes about 45 seconds, on average (all flags, settings, etc. are the same for both). I did build with "Release" as the build type, although I also did set DLLVM_ENABLE_ASSERTIONS=ON (could this be the problem?). </div></div></blockquote><div><br></div><div>Yes, the build system should print a warning telling you that an assertions enabled build can be up to ten times slower. Performance comparisons/measurements of an assertions enabled compiler aren't something we really do/tune for.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>More details below. Please let me know if you have any ideas about why this newer clang would be noticable slower.</div><div><br></div><div>Generally, I'm just trying to use clang as a user, not a clang developer, so if you have general recommendations for how to configure this, please let me know.</div><div><br></div><div>Thank you,</div><div>Jim</div><div><br></div><div>How I configured and installed:</div><div><br></div><div>cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON ../llvm </div><div>make</div><div>cmake -DCMAKE_INSTALL_PREFIX=$CLANG_PREFIX -P cmake_install.cmake</div><div><br></div><div><br></div><div>Here are some specifics:</div><div><br></div><div>$ uname -a</div><div>Darwin localhost 15.0.0 Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106~1/RELEASE_X86_64 x86_64</div><div><br></div><div>$ clang --version</div><div>clang version 3.9.0 (trunk 263305)</div><div>Target: x86_64-apple-darwin15.0.0</div><div>Thread model: posix</div><div>InstalledDir: /Users/jim/toolchains/llvm/bin</div></div>
<br>_______________________________________________<br>
cfe-users mailing list<br>
<a>cfe-users@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users</a><br>
<br></blockquote></div><br></div></div>
</blockquote>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div></div>