git: 58c2274c5dc5 - stable/12 - Merge commit f26fc568402f from llvm git (by me):

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Wed, 22 Dec 2021 10:06:12 UTC
The branch stable/12 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=58c2274c5dc57b04979fc8f759d1285ae263fc86

commit 58c2274c5dc57b04979fc8f759d1285ae263fc86
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2020-09-03 18:34:01 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-12-22 10:01:15 +0000

    Merge commit f26fc568402f from llvm git (by me):
    
      Eliminate the sizing template parameter N from CoalescingBitVector
    
      Since the parameter is not used anywhere, and the default size of 16
      apparently causes PR47359, remove it. This ensures that IntervalMap
      will automatically determine the optimal size, using its NodeSizer
      struct.
    
      Reviewed By: dblaikie
    
      Differential Revision: https://reviews.llvm.org/D87044
    
    This should fix 'Assertion failed: (Elements + Grow <= Nodes * Capacity
    && "Not enough room for elements"), function distribute, file
    /usr/src/contrib/llvm-project/llvm/lib/Support/IntervalMap.cpp, line
    123.' when building the x11-toolkits/py-wxPython40 port on a i386 host.
    
    Reported by:    zeising
    MFC after:      6 weeks
    X-MFC-With:     r364284
    
    (cherry picked from commit 031db28b2b2f7a0b367e7fb60e6658e9b4e5ca00)
---
 contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h b/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h
index f8c8fec0ec9e..0a7dcfe22631 100644
--- a/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h
+++ b/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h
@@ -34,15 +34,14 @@ namespace llvm {
 /// performance for non-sequential find() operations.
 ///
 /// \tparam IndexT - The type of the index into the bitvector.
-/// \tparam N - The first N coalesced intervals of set bits are stored in-place.
-template <typename IndexT, unsigned N = 16> class CoalescingBitVector {
+template <typename IndexT> class CoalescingBitVector {
   static_assert(std::is_unsigned<IndexT>::value,
                 "Index must be an unsigned integer.");
 
-  using ThisT = CoalescingBitVector<IndexT, N>;
+  using ThisT = CoalescingBitVector<IndexT>;
 
   /// An interval map for closed integer ranges. The mapped values are unused.
-  using MapT = IntervalMap<IndexT, char, N>;
+  using MapT = IntervalMap<IndexT, char>;
 
   using UnderlyingIterator = typename MapT::const_iterator;