[LLVMbugs] [Bug 1733] New: llc crash in SimpleRegisterCoalescing::JoinCopy

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Oct 15 12:28:41 PDT 2007


http://llvm.org/bugs/show_bug.cgi?id=1733

           Summary: llc crash in SimpleRegisterCoalescing::JoinCopy
           Product: new-bugs
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: baldrick at free.fr
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=1163)
 --> (http://llvm.org/bugs/attachment.cgi?id=1163)
testcase .ll

$ llc bugpoint-reduced-simplified.bc
llc((anonymous namespace)::PrintStackTrace()+0x1e)[0xdb3ef2]
llc((anonymous namespace)::SignalHandler(int)+0x10e)[0xdb415e]
/lib/libc.so.6[0x2ab25ad84d40]
llc(llvm::SimpleRegisterCoalescing::JoinCopy(llvm::MachineInstr*, unsigned int,
unsigned int, bool)+0xf80)[0xc23562]
llc(llvm::SimpleRegisterCoalescing::CopyCoalesceInMBB(llvm::MachineBasicBlock*,
std::vector<llvm::SimpleRegisterCoalescing::CopyRec,
std::allocator<llvm::SimpleRegisterCoalescing::CopyRec> >*,
bool)+0x12a)[0xc239ba]
llc(llvm::SimpleRegisterCoalescing::joinIntervals()+0x302)[0xc23d2c]
llc(llvm::SimpleRegisterCoalescing::runOnMachineFunction(llvm::MachineFunction&)+0x2c0)[0xc24330]
llc(llvm::MachineFunctionPass::runOnFunction(llvm::Function&)+0x33)[0x83dd9b]
llc(llvm::FPPassManager::runOnFunction(llvm::Function&)+0x10e)[0xd46c18]
llc(llvm::FunctionPassManagerImpl::run(llvm::Function&)+0x74)[0xd46e3e]
llc(llvm::FunctionPassManager::run(llvm::Function&)+0x7f)[0xd46f95]
llc(main+0x8a9)[0x82d285]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2ab25ad718e4]
llc(atan+0x139)[0x82bca9]
Segmentation fault (core dumped)

$ valgrind --tool=memcheck llc bugpoint-reduced-simplified.bc
...
==12270== Invalid read of size 8
==12270==    at 0xC2353D:
llvm::SimpleRegisterCoalescing::JoinCopy(llvm::MachineInstr*, unsigned,
unsigned, bool) (SimpleRegisterCoalescing.cpp:428)
==12270==    by 0xC239B9:
llvm::SimpleRegisterCoalescing::CopyCoalesceInMBB(llvm::MachineBasicBlock*,
std::vector<llvm::SimpleRegisterCoalescing::CopyRec,
std::allocator<llvm::SimpleRegisterCoalescing::CopyRec> >*, bool)
(SimpleRegisterCoalescing.cpp:945)
==12270==    by 0xC23D2B: llvm::SimpleRegisterCoalescing::joinIntervals()
(SimpleRegisterCoalescing.cpp:982)
==12270==    by 0xC2432F:
llvm::SimpleRegisterCoalescing::runOnMachineFunction(llvm::MachineFunction&)
(SimpleRegisterCoalescing.cpp:1191)
==12270==    by 0x83DD9A:
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(MachineFunctionPass.h:41)
==12270==    by 0xD46C17: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1171)
==12270==    by 0xD46E3D: llvm::FunctionPassManagerImpl::run(llvm::Function&)
(PassManager.cpp:1129)
==12270==    by 0xD46F94: llvm::FunctionPassManager::run(llvm::Function&)
(PassManager.cpp:1074)
==12270==    by 0x82D284: main (llc.cpp:295)
==12270==  Address 0x40EF558 is 8 bytes after a block of size 128 alloc'd
==12270==    at 0x4C20F19: operator new[](unsigned long)
(vg_replace_malloc.c:199)
==12270==    by 0xC29A89:
llvm::SmallVectorImpl<llvm::LiveRange>::grow(unsigned) (SmallVector.h:330)
==12270==    by 0xC44F11:
llvm::SmallVectorImpl<llvm::LiveRange>::push_back(llvm::LiveRange const&)
(SmallVector.h:144)
==12270==    by 0xC44F44:
llvm::SmallVectorImpl<llvm::LiveRange>::insert(llvm::LiveRange*,
llvm::LiveRange const&) (SmallVector.h:228)
==12270==    by 0xC44067: llvm::LiveInterval::addRangeFrom(llvm::LiveRange,
llvm::LiveRange*) (LiveInterval.cpp:219)
==12270==    by 0xC2C7B3: llvm::LiveInterval::addRange(llvm::LiveRange)
(LiveInterval.h:319)
==12270==    by 0xC458D6:
llvm::LiveIntervals::handlePhysicalRegisterDef(llvm::MachineBasicBlock*,
llvm::ilist_iterator<llvm::MachineInstr>, unsigned, llvm::LiveInterval&,
unsigned) (LiveIntervalAnalysis.cpp:682)
==12270==    by 0xC46876:
llvm::LiveIntervals::handleRegisterDef(llvm::MachineBasicBlock*,
llvm::ilist_iterator<llvm::MachineInstr>, unsigned, unsigned)
(LiveIntervalAnalysis.cpp:704)
==12270==    by 0xC46BAC: llvm::LiveIntervals::computeIntervals()
(LiveIntervalAnalysis.cpp:792)
==12270==    by 0xC481BA:
llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&)
(LiveIntervalAnalysis.cpp:105)
==12270==    by 0x83DD9A:
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(MachineFunctionPass.h:41)
==12270==    by 0xD46C17: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1171)


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list