[llvm] b436488 - [ADT] Use a C++17 fold expression in BitVector.h (NFC) (#161626)

via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 2 09:26:57 PDT 2025


Author: Kazu Hirata
Date: 2025-10-02T09:26:53-07:00
New Revision: b43648818768620b615ee06517d58b6fc5d39583

URL: https://github.com/llvm/llvm-project/commit/b43648818768620b615ee06517d58b6fc5d39583
DIFF: https://github.com/llvm/llvm-project/commit/b43648818768620b615ee06517d58b6fc5d39583.diff

LOG: [ADT] Use a C++17 fold expression in BitVector.h (NFC) (#161626)

This patch simplifies the assertion by replacing the std::all_of check
with a more direct C++17 fold expression.

Added: 
    

Modified: 
    llvm/include/llvm/ADT/BitVector.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/ADT/BitVector.h b/llvm/include/llvm/ADT/BitVector.h
index 83350e6e45846..9e81a4b735e7f 100644
--- a/llvm/include/llvm/ADT/BitVector.h
+++ b/llvm/include/llvm/ADT/BitVector.h
@@ -570,10 +570,7 @@ class BitVector {
   template <class F, class... ArgTys>
   static BitVector &apply(F &&f, BitVector &Out, BitVector const &Arg,
                           ArgTys const &...Args) {
-    assert(llvm::all_of(
-               std::initializer_list<unsigned>{Args.size()...},
-               [&Arg](auto const &BV) { return Arg.size() == BV; }) &&
-           "consistent sizes");
+    assert(((Arg.size() == Args.size()) && ...) && "consistent sizes");
     Out.resize(Arg.size());
     for (size_type I = 0, E = Arg.Bits.size(); I != E; ++I)
       Out.Bits[I] = f(Arg.Bits[I], Args.Bits[I]...);


        


More information about the llvm-commits mailing list