llvm/libcxx
Arthur Eubanks 0a77e63322 [libcxx] Add flag to disable __builtin_assume in _LIBCPP_ASSERT
Introduce _LIBCPP_ASSERTIONS_DISABLE_ASSUME which makes _LIBCPP_ASSERT
not call __builtin_assume when _LIBCPP_ENABLE_ASSERTIONS == 0.

Calling __builtin_assume was introduced in D122397.

__builtin_assume is generally supposed to improve optimizations, but can
cause regressions when LLVM has trouble handling the calls to
`llvm.assume()` (see comments in D122397).

Reviewed By: philnik

Differential Revision: https://reviews.llvm.org/D123175
2022-04-07 09:00:31 -07:00
..
benchmarks [libc++] Don't manually override NDEBUG in the dylib build 2022-03-09 10:05:38 -05:00
cmake [libcxx] Stop recommending setting LIBCXX_HAS_WIN32_THREAD_API in the MinGW builds 2022-04-04 23:07:40 +03:00
docs [libc++][ranges] Implement ranges::count{, _if} 2022-04-07 15:18:14 +02:00
include [libcxx] Add flag to disable __builtin_assume in _LIBCPP_ASSERT 2022-04-07 09:00:31 -07:00
lib [libc++][NFC] Refactor the ABI changelog 2022-03-24 10:24:43 -04:00
src [libcxx] random_device, specify optimal entropy properties for all OS's using arc4random() 2022-03-28 22:43:11 -04:00
test [libcxx] Add flag to disable __builtin_assume in _LIBCPP_ASSERT 2022-04-07 09:00:31 -07:00
utils [libc++] Add back-deployment testing on arm64 macs 2022-04-07 10:15:40 -04:00
.clang-format
.clang-tidy [libc++] Enable modernize-loop-convert 2022-03-18 20:34:19 +01:00
.gitignore
appveyor-reqs-install.cmd
appveyor.yml
CMakeLists.txt [libc++] Add a lightweight overridable assertion handler 2022-03-23 15:35:46 -04:00
CREDITS.TXT
LICENSE.TXT
TODO.TXT