[llvm] [NFC][ADT] Add RadixTree (PR #164524)

Mikael Holmen via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 26 22:31:21 PDT 2025


mikaelholmen wrote:

Hi @vitalybuka
Did you see the expensive-checks build bot failures above?
 ( https://lab.llvm.org/buildbot/#/builders/14/builds/4537 )

Many failures like
```
[----------] 1 test from RadixTreeTypeTest/vector, where TypeParam = <type>
[ RUN      ] RadixTreeTypeTest/vector.InsertSuperStrings
Exception Code: 0x80000003
 #0 0x00007ff7262ab4bc std::_List_const_iterator<class std::_List_val<struct std::_List_simple_types<struct std::pair<class std::vector<int, class std::allocator<int>> const, int>>>>::operator==(class std::_List_const_iterator<class std::_List_val<struct std::_List_simple_types<struct std::pair<class std::vector<int, class std::allocator<int>> const, int>>>> const &) const C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\list:194:0
 #1 0x00007ff726324c22 llvm::RadixTree<class std::vector<int, class std::allocator<int>>, int>::IteratorImpl<struct std::pair<class std::vector<int, class std::allocator<int>> const, int> const>::findNextValid(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\ADT\RadixTree.h:218:0
 #2 0x00007ff726297cd8 llvm::RadixTree<class std::vector<int, class std::allocator<int>>, int>::IteratorImpl<struct std::pair<class std::vector<int, class std::allocator<int>> const, int> const>::IteratorImpl<struct std::pair<class std::vector<int, class std::allocator<int>> const, int> const>(struct llvm::RadixTree<class std::vector<int, class std::allocator<int>>, int>::Node const *, class llvm::iterator_range<class std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<int>>>> const &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\ADT\RadixTree.h:246:0
 #3 0x00007ff72632691e llvm::RadixTree<class std::vector<int, class std::allocator<int>>, int>::find_prefixes(class std::vector<int, class std::allocator<int>> const &) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\ADT\RadixTree.h:342:0
 #4 0x00007ff72630a7e5 `anonymous namespace'::RadixTreeTypeTest_InsertSuperStrings_Test<std::vector<int,std::allocator<int> > >::TestBody C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\unittests\ADT\RadixTreeTest.cpp:306:0
 #5 0x00007ff72698180d testing::internal::HandleSehExceptionsInMethodIfSupported<class testing::Test, void>(class testing::Test *, void (__cdecl testing::Test::*)(void), char const *) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:2606:0
 #6 0x00007ff72698166c testing::internal::HandleExceptionsInMethodIfSupported<class testing::Test, void>(class testing::Test *, void (__cdecl testing::Test::*)(void), char const *) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:2668:0
 #7 0x00007ff7269546fc testing::Test::Run(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:2688:0
 #8 0x00007ff7269553b6 testing::TestInfo::Run(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:2837:0
 #9 0x00007ff726955e09 testing::TestSuite::Run(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:3016:0
#10 0x00007ff72695c4e6 testing::internal::UnitTestImpl::RunAllTests(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:5921:0
#11 0x00007ff7269818cd testing::internal::HandleSehExceptionsInMethodIfSupported<class testing::internal::UnitTestImpl, bool>(class testing::internal::UnitTestImpl *, bool (__cdecl testing::internal::UnitTestImpl::*)(void), char const *) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:2606:0
#12 0x00007ff7269817bc testing::internal::HandleExceptionsInMethodIfSupported<class testing::internal::UnitTestImpl, bool>(class testing::internal::UnitTestImpl *, bool (__cdecl testing::internal::UnitTestImpl::*)(void), char const *) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:2668:0
#13 0x00007ff7269566b0 testing::UnitTest::Run(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\src\gtest.cc:5485:0
#14 0x00007ff726a107d3 RUN_ALL_TESTS(void) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\googletest\include\gtest\gtest.h:2317:0
#15 0x00007ff726a1073b main C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\third-party\unittest\UnitTestMain\TestMain.cpp:56:0
#16 0x00007ff726a0cb19 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:79:0
#17 0x00007ff726a0ca02 __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
#18 0x00007ff726a0c8be __scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331:0
#19 0x00007ff726a0cbae mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17:0
#20 0x00007ff914167374 (C:\WINDOWS\System32\KERNEL32.DLL+0x17374)
#21 0x00007ff91465cc91 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x4cc91)
```
I see similar things when I build with EXPENSIVE_CHECKS locally.

https://github.com/llvm/llvm-project/pull/164524


More information about the llvm-commits mailing list