https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112572
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> --- With -DLLVM_ENABLE_ASSERTIONS=ON, I get: ``` Failed Tests (8): LLVM-Unit :: CodeGen/./CodeGenTests/75/134 LLVM-Unit :: CodeGen/./CodeGenTests/76/134 LLVM-Unit :: CodeGen/./CodeGenTests/77/134 LLVM-Unit :: CodeGen/./CodeGenTests/78/134 LLVM-Unit :: CodeGen/./CodeGenTests/79/134 LLVM-Unit :: CodeGen/./CodeGenTests/80/134 LLVM-Unit :: CodeGen/./CodeGenTests/81/134 LLVM-Unit :: CodeGen/./CodeGenTests/83/134 ``` But more notably, the failures are all like: ``` [ RUN ] RegallocDevelopmentFeaturesTest.MBBFullTruncated CodeGenTests: /home/sam/git/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h:112: llvm::IndexListEntry* llvm::SlotIndex::listEntry() const: Assertion `isValid() && "Attempt to compare reserved index."' failed. ``` Backtrace: ``` gdb) bt #0 0x00007fffedec2f9c in ?? () from /usr/lib64/libc.so.6 #1 0x00007fffede6db32 in raise () from /usr/lib64/libc.so.6 #2 0x00007fffede564f0 in abort () from /usr/lib64/libc.so.6 #3 0x00007fffede56418 in ?? () from /usr/lib64/libc.so.6 #4 0x00007fffede66362 in __assert_fail () from /usr/lib64/libc.so.6 #5 0x00007fffefa95239 in llvm::SlotIndex::listEntry (this=<synthetic pointer>) at /home/sam/git/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h:111 #6 llvm::SlotIndex::listEntry (this=<optimized out>) at /home/sam/git/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h:111 #7 llvm::SlotIndex::getIndex (this=<optimized out>) at /home/sam/git/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h:121 #8 llvm::SlotIndex::operator< (other=..., this=<synthetic pointer>) at /home/sam/git/llvm-project/llvm/include/llvm/CodeGen/SlotIndexes.h:177 #9 operator() (B=..., A=..., __closure=<synthetic pointer>) at /home/sam/git/llvm-project/llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp:968 #10 __gnu_cxx::__ops::_Iter_comp_iter<extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int(llvm::SlotIndex)>, llvm::function_ref<float(llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock*(llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex)::<lambda(LRStartEndInfo, LRStartEndInfo)> >::operator()<LRStartEndInfo*, LRStartEndInfo*> ( __it2=0x7fffffffbd40, __it1=0x7fffffffbdd0, this=<synthetic pointer>) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/predefined_ops.h:158 #11 std::__insertion_sort<LRStartEndInfo*, __gnu_cxx::__ops::_Iter_comp_iter<extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int(llvm::SlotIndex)>, llvm::function_ref<float(llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock*(llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex)::<lambda(LRStartEndInfo, LRStartEndInfo)> > >(LRStartEndInfo *, LRStartEndInfo *, __gnu_cxx::__ops::_Iter_comp_iter<extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int(llvm::SlotIndex)>, llvm::function_ref<float(llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock*(llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex)::<lambda(LRStartEndInfo, LRStartEndInfo)> >) (__first=__first@entry=0x7fffffffbd40, __last=__last@entry=0x7fffffffbbd0, __comp=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_algo.h:1771 #12 0x00007fffefa97ceb in std::__final_insertion_sort<LRStartEndInfo*, __gnu_cxx::__ops::_Iter_comp_iter<extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int(llvm::SlotIndex)>, llvm::function_ref<float(llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock*(llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex)::<lambda(LRStartEndInfo, LRStartEndInfo)> > > (__comp=..., __last=0x7fffffffbbd0, __first=0x7fffffffbd40) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_algo.h:1816 #13 std::__sort<LRStartEndInfo*, __gnu_cxx::__ops::_Iter_comp_iter<extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int(llvm::SlotIndex)>, llvm::function_ref<float(llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock*(llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex)::<lambda(LRStartEndInfo, LRStartEndInfo)> > > (__comp=..., __last=0x7fffffffbd58, __first=0x7fffffffbd40) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_algo.h:1902 #14 std::sort<LRStartEndInfo*, extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int(llvm::SlotIndex)>, llvm::function_ref<float(llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock*(llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex)::<lambda(LRStartEndInfo, LRStartEndInfo)> > (__comp=..., __last=0x7fffffffbd58, __first=0x7fffffffbd40) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_algo.h:4798 #15 extractInstructionFeatures(llvm::SmallVectorImpl<LRStartEndInfo>&, llvm::MLModelRunner*, llvm::function_ref<int (llvm::SlotIndex)>, llvm::function_ref<float (llvm::SlotIndex)>, llvm::function_ref<llvm::MachineBasicBlock* (llvm::SlotIndex)>, int, int, int, int, llvm::SlotIndex) (LRPosInfo=..., RegallocRunner=RegallocRunner@entry=0x7fffffffbb80, GetOpcode=..., GetMBBFreq=..., GetMBBReference=..., InstructionsIndex=0, InstructionsMappingIndex=1, MBBFreqIndex=2, MBBMappingIndex=3, LastIndex=...) at /home/sam/git/llvm-project/llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp:966 #16 0x0000555555700ecf in (anonymous namespace)::RegallocDevelopmentFeaturesTest_MBBFullTruncated_Test::TestBody (this=<optimized out>) at /home/sam/git/llvm-project/llvm/unittests/CodeGen/MLRegallocDevelopmentFeatures.cpp:265 #17 0x000055555571f987 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (location=0x555555757610 "the test body", method=<optimized out>, object=0x555555a0adc0) at /home/sam/git/llvm-project/third-party/unittest/googletest/src/gtest.cc:2414 #18 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x555555a0adc0, method=<optimized out>, location=location@entry=0x555555757610 "the test body") at /home/sam/git/llvm-project/third-party/unittest/googletest/src/gtest.cc:2469 #19 0x00005555557209e1 in testing::Test::Run (this=0x555555a0adc0) at /home/sam/git/llvm-project/third-party/unittest/googletest/src/gtest.cc:2508 [...] ```