llvm-project/libcxx
Adhemerval Zanella 63ea958521 [libcxx] Call __count_bool_true for bitset count
This patch aims to help clang with better information so it can inline
__bit_reference count function usage for both std::biset. Current clang
inliner can not infer that the passed typed will be used only to select
the optimized variant, it evaluates the type argument and type check as
a load plus compare (although later optimization phases correctly
optimized this out).

It is mainly to help llvm inliner to generate better code for std::bitset
count for aarch64. It helps on both runtime and code size, since if inline
decides that _VSTD::count should not be inlined the vectorization will
create both aligned and unaligned variants (which add both code size and
runtime costs)

llvm-svn: 350936
2019-01-11 17:31:17 +00:00
..
benchmarks [libcxx] Speeding up partition_point/lower_bound/upper_bound 2018-12-17 16:04:39 +00:00
cmake [CMake] Passthrough CFLAGS when checking the compiler-rt path 2018-11-14 00:09:26 +00:00
docs [libcxx] Support building hermetic static library 2019-01-06 06:14:31 +00:00
fuzzing Fix the test for partition_copy so it is not ridiculously slow. Also, detab. 2018-11-04 17:57:25 +00:00
include [libcxx] Call __count_bool_true for bitset count 2019-01-11 17:31:17 +00:00
lib [libcxx] Support building hermetic static library 2019-01-06 06:14:31 +00:00
src Implement LWG 3096: path::lexically_relative is confused by trailing slashes 2018-12-21 04:25:40 +00:00
test Don't use the form '2017y' in tests, since some gcc versions don't allow it 2019-01-11 15:45:56 +00:00
utils [libcxx] Add a script to run CI on older MacOS versions 2019-01-09 19:40:20 +00:00
www [libcxx] Reorganize tests since the application of P0602R4 2019-01-10 20:06:11 +00:00
.arcconfig [libcxx] Set up .arcconfig to point to new Diffusion CXX repository 2017-12-04 17:55:28 +00:00
.clang-format Make clang-format use C++03 syntax 2017-04-15 02:45:43 +00:00
.gitignore Implement N4606 optional 2016-10-12 07:46:20 +00:00
CMakeLists.txt [libcxx] Support building hermetic static library 2019-01-06 06:14:31 +00:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:53 +00:00
LICENSE.TXT Update year to 2017 2017-01-03 11:20:43 +00:00
NOTES.TXT Reland "Use custom command and target to install libc++ headers" 2018-06-12 03:10:02 +00:00
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 2017-03-06 21:23:36 +00:00
appveyor-reqs-install.cmd Update LLVM version used on Appveyor bot, remove MSVC 2015 bot 2018-10-30 21:23:31 +00:00
appveyor.yml Update LLVM version used on Appveyor bot, remove MSVC 2015 bot 2018-10-30 21:23:31 +00:00