-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Labels
Description
Reproducer:
; llc test.ll
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "riscv64-unknown-linux-gnu"
define i32 @main(ptr %p) {
entry:
%0 = load i32, ptr %p, align 4
%dec.i = add i32 %0, 1
%1 = tail call i32 @llvm.ctpop.i32(i32 %dec.i)
ret i32 %1
}
llc: /home/dtcxzyw/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:970: void {anonymous}::SelectionDAGLegalize::LegalizeOp(llvm::SDNode*): Assertion `(TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) == TargetLowering::TypeLegal || Op.getOpcode() == ISD::TargetConstant || Op.getOpcode() == ISD::Register) && "Unexpected illegal type!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc reduced.ll
1. Running pass 'Function Pass Manager' on module 'reduced.ll'.
2. Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on function '@main'
#0 0x00007f8c24dc8c08 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMSupport.so.19.0git+0x1c9c08)
#1 0x00007f8c24dc5fbc SignalHandler(int) Signals.cpp:0:0
#2 0x00007f8c2488ad60 (/lib/x86_64-linux-gnu/libc.so.6+0x38d60)
#3 0x00007f8c2488ace1 raise (/lib/x86_64-linux-gnu/libc.so.6+0x38ce1)
#4 0x00007f8c24874537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22537)
#5 0x00007f8c2487440f (/lib/x86_64-linux-gnu/libc.so.6+0x2240f)
#6 0x00007f8c24883662 (/lib/x86_64-linux-gnu/libc.so.6+0x31662)
#7 0x00007f8c27499152 (anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDNode*) LegalizeDAG.cpp:0:0
#8 0x00007f8c274a2c80 llvm::SelectionDAG::Legalize() (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMSelectionDAG.so.19.0git+0x17fc80)
#9 0x00007f8c2768a2a1 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMSelectionDAG.so.19.0git+0x3672a1)
#10 0x00007f8c2768d51d llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMSelectionDAG.so.19.0git+0x36a51d)
#11 0x00007f8c2768ee88 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMSelectionDAG.so.19.0git+0x36be88)
#12 0x00007f8c2767f2ef llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMSelectionDAG.so.19.0git+0x35c2ef)
#13 0x00007f8c26c4bbf7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#14 0x00007f8c251b4d89 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMCore.so.19.0git+0x2bdd89)
#15 0x00007f8c251b4fc1 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMCore.so.19.0git+0x2bdfc1)
#16 0x00007f8c251b5bbb llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/dtcxzyw/llvm-install/bin/../lib/libLLVMCore.so.19.0git+0x2bebbb)
#17 0x00005642d2c81759 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#18 0x00005642d2c77386 main (/home/dtcxzyw/llvm-install/bin/llc+0xf386)
#19 0x00007f8c24875d0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d0a)
#20 0x00005642d2c77e4a _start (/home/dtcxzyw/llvm-install/bin/llc+0xfe4a)
Aborted
llvm version: 1a0e67d