-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Description
❯ llc --version | head -n2
LLVM (http://llvm.org/):
LLVM version 21.1.0-rc1
❯ llc -O3 reduced.ll
llc: /home/alexrp/Source/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:5000: bool getTargetConstantBitsFromNode(llvm::SDValue, unsigned int, llvm::APInt&, llvm::SmallVectorImpl<llvm::APInt>&, bool, bool): Assertion `(SizeInBits % EltSizeInBits) == 0 && "Can't split constant!"' 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 -O3 reduced.ll
1. Running pass 'Function Pass Manager' on module 'reduced.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@"crypto.25519.curve25519.test.small order check"'
#0 0x0000703da39917f0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/alexrp/Source/llvm-project/llvm/lib/Support/Unix/Signals.inc:838:3
#1 0x0000703da398e6b4 llvm::sys::RunSignalHandlers() /home/alexrp/Source/llvm-project/llvm/lib/Support/Signals.cpp:104:20
#2 0x0000703da398eee9 SignalHandler(int, siginfo_t*, void*) /home/alexrp/Source/llvm-project/llvm/lib/Support/Unix/Signals.inc:426:14
#3 0x0000703da22458d0 (/lib/x86_64-linux-gnu/libc.so.6+0x458d0)
#4 0x0000703da22a49bc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x0000703da22a49bc __pthread_kill_internal ./nptl/pthread_kill.c:89:10
#6 0x0000703da22a49bc pthread_kill ./nptl/pthread_kill.c:100:10
#7 0x0000703da224579e raise ./signal/../sysdeps/posix/raise.c:27:6
#8 0x0000703da22288cd internal_signal_block_all ./stdlib/../sysdeps/unix/sysv/linux/internal-signals.h:81:3
#9 0x0000703da22288cd __abort_lock_wrlock ./stdlib/abort.c:58:3
#10 0x0000703da22288cd abort ./stdlib/abort.c:81:3
#11 0x0000703da2228830 __assert_perror_fail ./assert/assert-perr.c:31:1
#12 0x0000703da3632016 llvm::APInt::operator==(llvm::APInt const&) const (/opt/llvm-21/bin/../lib/libLLVM.so.21.1-rc1+0xc32016)
#13 0x0000703da3632016 llvm::APInt::operator!=(llvm::APInt const&) const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/APInt.h:1087:62
#14 0x0000703da3632016 llvm::X86::isConstantSplat(llvm::SDValue, llvm::APInt&, bool) (.cold) /home/alexrp/Source/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:5330:0
#15 0x0000703da805b309 getTargetConstantBitsFromNode(llvm::SDValue, unsigned int, llvm::APInt&, llvm::SmallVectorImpl<llvm::APInt>&, bool, bool) /home/alexrp/Source/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:5252:0
#16 0x0000703da807e274 combineExtractVectorElt(llvm::SDNode*, llvm::SelectionDAG&, llvm::TargetLowering::DAGCombinerInfo&, llvm::X86Subtarget const&) /home/alexrp/Source/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:47031:0
#17 0x0000703da43697e8 combine /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:2087:10
#18 0x0000703da43697e8 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:2067:9
#19 0x0000703da436b463 Run /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1841:5
#20 0x0000703da436b463 llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::BatchAAResults*, llvm::CodeGenOptLevel) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:29815:44
#21 0x0000703da4588ff2 llvm::TimeRegion::~TimeRegion() /home/alexrp/Source/llvm-project/llvm/include/llvm/Support/Timer.h:162:9
#22 0x0000703da4588ff2 llvm::NamedRegionTimer::~NamedRegionTimer() /home/alexrp/Source/llvm-project/llvm/include/llvm/Support/Timer.h:170:8
#23 0x0000703da4588ff2 llvm::SelectionDAGISel::CodeGenAndEmitDAG() /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:948:3
#24 0x0000703da458c8ec llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1891:33
#25 0x0000703da458e019 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:605:22
#26 0x0000703da4584d77 llvm::OptLevelChanger::~OptLevelChanger() /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:267:11
#27 0x0000703da4584d77 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:373:1
#28 0x0000703da4584d77 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:345:6
#29 0x0000703da3ed90bb llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:108:30
#30 0x0000703da3b4ca34 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1408:7
#31 0x0000703da3b4cc45 llvm::ilist_detail::node_base_prevnext<llvm::ilist_node_base<true, void>, true>::getNext() const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:42:38
#32 0x0000703da3b4cc45 llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>>::getNext() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node.h:119:66
#33 0x0000703da3b4cc45 llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>, false, false>::operator++() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:187:25
#34 0x0000703da3b4cc45 llvm::FPPassManager::runOnModule(llvm::Module&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1443:22
#35 0x0000703da3b4d45b runOnModule /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1520:7
#36 0x0000703da3b4d45b llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:531:55
#37 0x00005ad306ace16d compileModule(char**, llvm::LLVMContext&) /home/alexrp/Source/llvm-project/llvm/tools/llc/llc.cpp:761:34
#38 0x00005ad306ac24cf main /home/alexrp/Source/llvm-project/llvm/tools/llc/llc.cpp:404:35
#39 0x0000703da222a578 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#40 0x0000703da222a63b call_init ./csu/../csu/libc-start.c:128:20
#41 0x0000703da222a63b __libc_start_main ./csu/../csu/libc-start.c:347:5
#42 0x00005ad306ac3aa5 _start (/opt/llvm-21/bin/llc+0x14aa5)
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux6.14.0-gnu2.41.0"
define fastcc i64 @"crypto.25519.curve25519.test.small order check"(<31 x i8> %.sroa.0.0.copyload) {
Entry:
%.sroa.0.6.vec.extract.extract = shufflevector <31 x i8> %.sroa.0.0.copyload, <31 x i8> zeroinitializer, <32 x i32> <i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
%.sroa.0.6.vec.extract.bc = bitcast <32 x i8> %.sroa.0.6.vec.extract.extract to <4 x i64>
%.sroa.0.6.vec.extract.extract259 = extractelement <4 x i64> %.sroa.0.6.vec.extract.bc, i64 0
ret i64 %.sroa.0.6.vec.extract.extract259
}
Metadata
Metadata
Assignees
Type
Projects
Status
Done