aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/CommandLineTest.cpp
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2025-09-25 20:16:27 +0200
committerGitHub <noreply@github.com>2025-09-25 20:16:27 +0200
commit1b0553c9fa8d61010a43b1a2dcb649d1aab7d8ae (patch)
treeebc08a5618cf4a77f8fd3b120b0e342923e0f87b /llvm/unittests/Support/CommandLineTest.cpp
parent1685a6a602c529d3615e2c2d98b7ef060f192eb7 (diff)
downloadllvm-1b0553c9fa8d61010a43b1a2dcb649d1aab7d8ae.zip
llvm-1b0553c9fa8d61010a43b1a2dcb649d1aab7d8ae.tar.gz
llvm-1b0553c9fa8d61010a43b1a2dcb649d1aab7d8ae.tar.bz2
[libc++] Use _BitInt and __builtin_popcountg in bitset::count() (#160679)
This has multiple benefits: 1) The compiler has to do way less work to figure out things fold into a simple `popcount`, improving compile times quite a bit 2) The compiler inlines better, since the compile doesn't have to do complicated optimizations to get to the same point. Looking at the pipeline, it seems that without this, LLVM has to go all the way to GVN to get to the same code as there is after the first InstCombine pass with this change. Currently this applies only to `bitset`s with at most 64 bits, but that is by far the most common case.
Diffstat (limited to 'llvm/unittests/Support/CommandLineTest.cpp')
0 files changed, 0 insertions, 0 deletions