aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-01-11 17:31:17 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-01-11 17:31:17 +0000
commit63ea9585210fb7aa24a78576297e84c620cc3c74 (patch)
tree86c3c19cc2463643e05da1cfcf80ffd040d45dff /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
parent1d36253fd8f11cb64532ac9f525d017a35e67989 (diff)
downloadllvm-63ea9585210fb7aa24a78576297e84c620cc3c74.zip
llvm-63ea9585210fb7aa24a78576297e84c620cc3c74.tar.gz
llvm-63ea9585210fb7aa24a78576297e84c620cc3c74.tar.bz2
[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
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions