Re: [cfe-users] Clang 3.9 running 50% slower than 3.7
lease (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? >>> >> >> Yeah, sounds about right. >> >> >>> 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. >>> >> >> Yeah - not sure what the right recipe is for building things the same as >> the official releases. No doubt it's written down somewhere... >> >> >>> >>> 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 >>>>> wrote: >>>>> >>>>>> Got it -- thanks! >>>>>> >>>>>> >>>>>> On Wednesday, March 16, 2016, David Blaikie >>>>>> 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 >> >> ___ cfe-users mailing list cfe-users@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users
Re: [cfe-users] Clang 3.9 running 50% slower than 3.7
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, 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?). I'm basically just looking for the same options that would come with a packaged build, but I do want to build from source. Finally, when I'm done, how do I verify that the settings are correct? clang --version doesn't tell me much about if I built it correctly. [2] Thank you, 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 wrote: > Got it -- thanks! > > > On Wednesday, March 16, 2016, David Blaikie 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
[cfe-users] Clang 3.9 running 50% slower than 3.7
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?). 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
Re: [cfe-users] Clang 3.9 running 50% slower than 3.7
Got it -- thanks! On Wednesday, March 16, 2016, David Blaikie 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
Re: [cfe-users] Clang 3.9 running 50% slower than 3.7
On Wed, Mar 16, 2016 at 5:55 PM, David Blaikie wrote: > > > On Wed, Mar 16, 2016 at 2:12 PM, 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 >> wrote: >> >>> Got it -- thanks! >>> >>> >>> On Wednesday, March 16, 2016, David Blaikie 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
Re: [cfe-users] Clang 3.9 running 50% slower than 3.7
ate 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? >>>> >>> >>> Yeah, sounds about right. >>> >>> >>>> 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. >>>> >>> >>> Yeah - not sure what the right recipe is for building things the same as >>> the official releases. No doubt it's written down somewhere... >>> >>> >>>> >>>> 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 >>>>>> wrote: >>>>>> >>>>>>> Got it -- thanks! >>>>>>> >>>>>>> >>>>>>> On Wednesday, March 16, 2016, David Blaikie >>>>>>> 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 >>> >>> > ___ cfe-users mailing list cfe-users@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users
Re: [cfe-users] Clang 3.9 running 50% slower than 3.7
it does break the libcxx and >>>> libcxxabi tests under check-all, but I've submitted a couple trivial >>>> patches that fix that problem. >>>> >>>> hth... >>>> don >>>> On Mar 17, 2016 11:26 AM, "David Blaikie via cfe-users" < >>>> cfe-users@lists.llvm.org> wrote: >>>> >>>>> >>>>> >>>>> On Wed, Mar 16, 2016 at 3:36 PM, jps...@gmail.com >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Wed, Mar 16, 2016 at 5:55 PM, David Blaikie >>>>>> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Mar 16, 2016 at 2:12 PM, 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? >>>>>> >>>>> >>>>> Yeah, sounds about right. >>>>> >>>>> >>>>>> 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. >>>>>> >>>>> >>>>> Yeah - not sure what the right recipe is for building things the same >>>>> as the official releases. No doubt it's written down somewhere... >>>>> >>>>> >>>>>> >>>>>> Thanks >>>>>> Jim >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> [1] >>>>>>> >>>>>>>> --disable-assertions--enable-debug-symbols--enable-optimized >>>>>>>> [2] >>>>>>>> >>>>>>>> $ clang --