[llvm-bugs] [Bug 33079] New: [RA] Crash in SlotIndex::getIndex()

via llvm-bugs llvm-bugs at lists.llvm.org
Wed May 17 12:24:56 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=33079

            Bug ID: 33079
           Summary: [RA] Crash in SlotIndex::getIndex()
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Register Allocator
          Assignee: unassignedbugs at nondot.org
          Reporter: davide at freebsd.org
                CC: llvm-bugs at lists.llvm.org, matze at braunis.de,
                    qcolombet at apple.com

The input IR crashes in SlotIndex if invoked with the following:

./llc -opt-bisect-limit=19 ren.ll

Relevant stacktrace:

#3 0x00007ff6f048dc30 __restore_rt (/lib64/libpthread.so.0+0x10c30)
#4 0x000000000146d5f9 llvm::SlotIndex::getIndex() const
/home/davide/work/llvm/build-rel-noassert/../include/llvm/CodeGen/SlotIndexes.h:118:0
#5 0x000000000146d5f9 llvm::SlotIndex::operator>=(llvm::SlotIndex) const
/home/davide/work/llvm/build-rel-noassert/../include/llvm/CodeGen/SlotIndexes.h:186:0
#6 0x000000000146d5f9 llvm::LiveRange::find(llvm::SlotIndex)
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/LiveInterval.cpp:340:0
#7 0x000000000165fc79 llvm::LiveRange::FindSegmentContaining(llvm::SlotIndex)
const
/home/davide/work/llvm/build-rel-noassert/../include/llvm/CodeGen/LiveInterval.h:425:0
#8 0x000000000165fc79 llvm::LiveRange::getVNInfoAt(llvm::SlotIndex) const
/home/davide/work/llvm/build-rel-noassert/../include/llvm/CodeGen/LiveInterval.h:404:0
#9 0x000000000165fc79 spillAroundUses
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/InlineSpiller.cpp:914:0
#10 0x000000000165fc79 spillAll
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/InlineSpiller.cpp:996:0
#11 0x000000000165fc79 (anonymous
namespace)::InlineSpiller::spill(llvm::LiveRangeEdit&)
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/InlineSpiller.cpp:1045:0
#12 0x000000000157f25b setStage<unsigned int*>
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/RegAllocGreedy.cpp:225:0
#13 0x000000000157f25b (anonymous
namespace)::RAGreedy::selectOrSplitImpl(llvm::LiveInterval&,
llvm::SmallVectorImpl<unsigned int>&, llvm::SmallSet<unsigned int, 16u,
std::less<unsigned int> >&, unsigned int)
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/RegAllocGreedy.cpp:2623:0
#14 0x0000000001581681 (anonymous
namespace)::RAGreedy::selectOrSplit(llvm::LiveInterval&,
llvm::SmallVectorImpl<unsigned int>&)
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/RegAllocGreedy.cpp:2285:0
#15 0x000000000168608d llvm::RegAllocBase::allocatePhysRegs()
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/RegAllocBase.cpp:111:0
#16 0x000000000157cede llvm::SmallVectorTemplateCommon<llvm::LiveInterval*,
void>::end()
/home/davide/work/llvm/build-rel-noassert/../include/llvm/ADT/SmallVector.h:119:0
#17 0x000000000157cede llvm::SetVector<llvm::LiveInterval*,
llvm::SmallVector<llvm::LiveInterval*, 8u>,
llvm::SmallDenseSet<llvm::LiveInterval*, 8u,
llvm::DenseMapInfo<llvm::LiveInterval*> > >::end()
/home/davide/work/llvm/build-rel-noassert/../include/llvm/ADT/SetVector.h:94:0
#18 0x000000000157cede tryHintsRecoloring
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/RegAllocGreedy.cpp:2528:0
#19 0x000000000157cede (anonymous
namespace)::RAGreedy::runOnMachineFunction(llvm::MachineFunction&)
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/RegAllocGreedy.cpp:2743:0
#20 0x00000000014d5af9
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/home/davide/work/llvm/build-rel-noassert/../lib/CodeGen/MachineFunctionPass.cpp:62:0
#21 0x00000000017440f1 llvm::FPPassManager::runOnFunction(llvm::Function&)
/home/davide/work/llvm/build-rel-noassert/../lib/IR/LegacyPassManager.cpp:1519:0
#22 0x0000000001744193 llvm::FPPassManager::runOnModule(llvm::Module&)
/home/davide/work/llvm/build-rel-noassert/../lib/IR/LegacyPassManager.cpp:1540:0
#23 0x0000000001744ae0 runOnModule
/home/davide/work/llvm/build-rel-noassert/../lib/IR/LegacyPassManager.cpp:1596:0
#24 0x0000000001744ae0 llvm::legacy::PassManagerImpl::run(llvm::Module&)
/home/davide/work/llvm/build-rel-noassert/../lib/IR/LegacyPassManager.cpp:1699:0
#25 0x00000000008867b0 compileModule(char**, llvm::LLVMContext&)
/home/davide/work/llvm/build-rel-noassert/../tools/llc/llc.cpp:587:0
#26 0x0000000000810c10 main
/home/davide/work/llvm/build-rel-noassert/../tools/llc/llc.cpp:338:0
#27 0x00007ff6eefe5731 __libc_start_main (/lib64/libc.so.6+0x20731)
#28 0x000000000087be49 _start (./llc+0x87be49)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170517/8d33b35e/attachment.html>


More information about the llvm-bugs mailing list