https://llvm.org/bugs/show_bug.cgi?id=26652
Bug ID: 26652 Summary: X86 instruction selection encounters invalid shufflevector instructions Product: libraries Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Backend: X86 Assignee: unassignedb...@nondot.org Reporter: andrew.b.ad...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 15916 --> https://llvm.org/bugs/attachment.cgi?id=15916&action=edit .ll that triggers the issue Some time over the last day trunk llvm starting barfing on the attached .ll with the stack trace below. There are a bunch of shufflevector instructions in the input, but all look legal to me. $ ./llvm/trunk/build-64-g++-4.8/bin/llc bugpoint-reduced-function.ll llc: /usr/local/google/home/abadams/projects/Halide/llvm/trunk/lib/IR/Instructions.cpp:1791: static int llvm::ShuffleVectorInst::getMaskValue(llvm::Constant*, unsigned int): Assertion `i < Mask->getType()->getVectorNumElements() && "Index out of range"' failed. #0 0x00000000013d8f25 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x13d8f25) #1 0x00000000013d6cd6 llvm::sys::RunSignalHandlers() (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x13d6cd6) #2 0x00000000013d6f01 SignalHandler(int) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x13d6f01) #3 0x00007f4d41173330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330) #4 0x00007f4d40325cb7 gsignal /tmp/tmp.Htw1L27e9P/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #5 0x00007f4d403290a8 abort /tmp/tmp.Htw1L27e9P/stdlib/abort.c:91:0 #6 0x00007f4d4031eb76 __assert_fail_base /tmp/tmp.Htw1L27e9P/assert/assert.c:92:0 #7 0x00007f4d4031ec22 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc22) #8 0x000000000105e96c llvm::ShuffleVectorInst::getMaskValue(llvm::Constant*, unsigned int) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x105e96c) #9 0x000000000126249b isVectorReductionOp(llvm::User const*) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x126249b) #10 0x000000000127300c llvm::SelectionDAGBuilder::visitBinary(llvm::User const&, unsigned int) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x127300c) #11 0x0000000001293c1a llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x1293c1a) #12 0x00000000012d0901 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x12d0901) #13 0x00000000012d8c0f llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x12d8c0f) #14 0x00000000012da44c llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x12da44c) #15 0x000000000065ed04 (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x65ed04) #16 0x00000000010817d3 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x10817d3) #17 0x0000000001081b8b llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x1081b8b) #18 0x0000000001081e9f llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x1081e9f) #19 0x00000000006055a6 compileModule(char**, llvm::LLVMContext&) (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x6055a6) #20 0x00000000005d2250 main (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x5d2250) #21 0x00007f4d40310ec5 __libc_start_main /tmp/tmp.Htw1L27e9P/csu/libc-start.c:321:0 #22 0x00000000005fd646 _start (/usr/local/google/home/abadams/projects/Halide_trunk/llvm/trunk/build-64-g++-4.8/bin/llc+0x5fd646) Stack dump: 0. Program arguments: ./llvm/trunk/build-64-g++-4.8/bin/llc bugpoint-reduced-function.ll 1. Running pass 'Function Pass Manager' on module 'bugpoint-reduced-function.ll'. 2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@__argvcall' Aborted (core dumped) -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs