| Issue |
176839
|
| Summary |
[LoongArch] Assertion `isSimple() && "Expected a SimpleValueType!"` failed
|
| Labels |
crash-on-valid,
backend:loongarch,
regression:22
|
| Assignees |
|
| Reporter |
alexrp
|
```llvm
; ModuleID = 'reduced.bc'
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "loongarch64-unknown-linux5.10.0-unknown"
define fastcc i65528 @"behavior.basic.test.arrays and vectors with big integers"() #0 {
Entry:
%0 = load <1 x i65528>, ptr null, align 8192
%1 = extractelement <1 x i65528> %0, i32 0
ret i65528 %1
}
attributes #0 = { "target-cpu"="la664" }
```
```
❯ /opt/llvm-21/bin/llc -O0 reduced.ll
❯ /opt/llvm-22/bin/llc -O0 reduced.ll
llc: /home/alexrp/Sources/llvm/llvm/include/llvm/CodeGen/ValueTypes.h:317: llvm::MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. Program arguments: /opt/llvm-22/bin/llc -O0 reduced.ll
1. Running pass 'Function Pass Manager' on module 'reduced.ll'.
2. Running pass 'LoongArch DAG->DAG Pattern Instruction Selection' on function '@"behavior.basic.test.arrays and vectors with big integers"'
#0 0x00007f8f0be21d2d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/alexrp/Sources/llvm/llvm/lib/Support/Unix/Signals.inc:846:3
#1 0x00007f8f0be1ee64 llvm::sys::RunSignalHandlers() /home/alexrp/Sources/llvm/llvm/lib/Support/Signals.cpp:108:20
#2 0x00007f8f0be1f67c SignalHandler(int, siginfo_t*, void*) /home/alexrp/Sources/llvm/llvm/lib/Support/Unix/Signals.inc:429:14
#3 0x00007f8f0a645f60 (/lib/x86_64-linux-gnu/libc.so.6+0x45f60)
#4 0x00007f8f0a6a5fed __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007f8f0a6a5fed __pthread_kill_internal ./nptl/pthread_kill.c:89:10
#6 0x00007f8f0a6a5fed pthread_kill ./nptl/pthread_kill.c:100:10
#7 0x00007f8f0a645e2e raise ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007f8f0a628888 internal_signal_block_all ./stdlib/../sysdeps/unix/sysv/linux/internal-signals.h:81:3
#9 0x00007f8f0a628888 __abort_lock_wrlock ./stdlib/abort.c:62:3
#10 0x00007f8f0a628888 abort ./stdlib/abort.c:85:3
#11 0x00007f8f0a6287f0 __assert_perror_fail ./assert/assert-perr.c:31:1
#12 0x00007f8f0b9eda0a llvm::EVT::getVectorElementType() const (.part.0) /home/alexrp/Sources/llvm/llvm/include/llvm/CodeGen/ValueTypes.h:328:9
#13 0x00007f8f0b9efd17 decltype(auto) llvm::cast<llvm::CondCodeSDNode, llvm::SDValue>(llvm::SDValue&) /home/alexrp/Sources/llvm/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:6810:5
#14 0x00007f8f0b9efd17 performSELECT_CCCombine /home/alexrp/Sources/llvm/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:6062:54
#15 0x00007f8f0b9efd17 llvm::LoongArchTargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const (.cold) /home/alexrp/Sources/llvm/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:6983:35
#16 0x00007f8f0c8594c2 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:2109:10
#17 0x00007f8f0c85b4dc Run /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1858:25
#18 0x00007f8f0c85b4dc llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::BatchAAResults*, llvm::CodeGenOptLevel) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:30744:44
#19 0x00007f8f0ca856ab llvm::TimeRegion::~TimeRegion() /home/alexrp/Sources/llvm/llvm/include/llvm/Support/Timer.h:167:9
#20 0x00007f8f0ca856ab llvm::NamedRegionTimer::~NamedRegionTimer() /home/alexrp/Sources/llvm/llvm/include/llvm/Support/Timer.h:175:8
#21 0x00007f8f0ca856ab llvm::SelectionDAGISel::CodeGenAndEmitDAG() /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:978:3
#22 0x00007f8f0ca89ca3 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1937:33
#23 0x00007f8f0ca8b043 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:635:22
#24 0x00007f8f0ca76c31 llvm::OptLevelChanger::~OptLevelChanger() /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:285:11
#25 0x00007f8f0ca76c31 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:402:1
#26 0x00007f8f0ca76c31 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:374:6
#27 0x00007f8f0c3aa86a llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) /home/alexrp/Sources/llvm/llvm/lib/CodeGen/MachineFunctionPass.cpp:108:30
#28 0x00007f8f0bfdd52a llvm::FPPassManager::runOnFunction(llvm::Function&) /home/alexrp/Sources/llvm/llvm/lib/IR/LegacyPassManager.cpp:1398:40
#29 0x00007f8f0bfdd735 llvm::ilist_detail::node_base_prevnext<llvm::ilist_node_base<true, void>, true>::getNext() const /home/alexrp/Sources/llvm/llvm/include/llvm/ADT/ilist_node_base.h:42:38
#30 0x00007f8f0bfdd735 llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>>::getNext() /home/alexrp/Sources/llvm/llvm/include/llvm/ADT/ilist_node.h:108:66
#31 0x00007f8f0bfdd735 llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>, false, false>::operator++() /home/alexrp/Sources/llvm/llvm/include/llvm/ADT/ilist_iterator.h:187:25
#32 0x00007f8f0bfdd735 llvm::FPPassManager::runOnModule(llvm::Module&) /home/alexrp/Sources/llvm/llvm/lib/IR/LegacyPassManager.cpp:1443:22
#33 0x00007f8f0bfddfcf runOnModule /home/alexrp/Sources/llvm/llvm/lib/IR/LegacyPassManager.cpp:1513:38
#34 0x00007f8f0bfddfcf llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/alexrp/Sources/llvm/llvm/lib/IR/LegacyPassManager.cpp:531:55
#35 0x000059564467a9f5 compileModule(char**, llvm::SmallVectorImpl<llvm::PassPlugin>&, llvm::LLVMContext&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) /home/alexrp/Sources/llvm/llvm/tools/llc/llc.cpp:874:34
#36 0x000059564466df5c main /home/alexrp/Sources/llvm/llvm/tools/llc/llc.cpp:462:35
#37 0x00007f8f0a62a575 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#38 0x00007f8f0a62a628 call_init ./csu/../csu/libc-start.c:128:20
#39 0x00007f8f0a62a628 __libc_start_main ./csu/../csu/libc-start.c:347:5
#40 0x000059564466ece5 _start (/opt/llvm-22/bin/llc+0x15ce5)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs