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
[...]
```

Reply via email to