On Wed, Mar 16, 2016 at 5:55 PM, David Blaikie <dblai...@gmail.com> wrote:
> > > On Wed, Mar 16, 2016 at 2:12 PM, jps...@gmail.com <jps...@gmail.com> > wrote: > >> David and all, a couple more questions. I stumbled upon >> http://llvm.org/docs/Packaging.html 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, >> > > 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. > Just using clang (and clang tools) -- not using LLVM as a library. So, running without assertions seems right for my needs. > > >> 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?). >> > > 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. > > If you're just using clang as a compiler, release (optimized), no > assertions, no debug info. > > 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 --disable-assertions --enable-optimized --disable-debug-symbols (or the environment variable equivalents). That seem right to you? 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. Thanks Jim > [1] > >> --disable-assertions--enable-debug-symbols--enable-optimized >> [2] >> >> $ clang --version >> >> clang version 3.9.0 (trunk 263648) >> >> Target: x86_64-apple-darwin15.0.0 >> >> Thread model: posix >> >> InstalledDir: /Users/jim/toolchains/llvm/bin >> >> On Wed, Mar 16, 2016 at 2:05 PM, jps...@gmail.com <jps...@gmail.com> >> wrote: >> >>> Got it -- thanks! >>> >>> >>> On Wednesday, March 16, 2016, David Blaikie <dblai...@gmail.com> wrote: >>> >>>> >>>> >>>> On Wed, Mar 16, 2016 at 7:25 AM, jps...@gmail.com via cfe-users < >>>> cfe-users@lists.llvm.org> wrote: >>>> >>>>> 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?). >>>>> >>>> >>>> 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. >>>> >>>> >>>>> More details below. Please let me know if you have any ideas about why >>>>> this newer clang would be noticable slower. >>>>> >>>>> 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. >>>>> >>>>> Thank you, >>>>> Jim >>>>> >>>>> How I configured and installed: >>>>> >>>>> cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release >>>>> -DLLVM_ENABLE_ASSERTIONS=ON ../llvm >>>>> make >>>>> cmake -DCMAKE_INSTALL_PREFIX=$CLANG_PREFIX -P cmake_install.cmake >>>>> >>>>> >>>>> Here are some specifics: >>>>> >>>>> $ uname -a >>>>> 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 >>>>> >>>>> $ clang --version >>>>> clang version 3.9.0 (trunk 263305) >>>>> Target: x86_64-apple-darwin15.0.0 >>>>> Thread model: posix >>>>> InstalledDir: /Users/jim/toolchains/llvm/bin >>>>> >>>>> _______________________________________________ >>>>> cfe-users mailing list >>>>> cfe-users@lists.llvm.org >>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users >>>>> >>>>> >>>> >> >
_______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users