[LLVMbugs] [Bug 4100] New: assertion failed, "Re-defining a live register!"

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Apr 28 13:44:06 PDT 2009


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

           Summary: assertion failed, "Re-defining a live register!"
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nlewycky at google.com
                CC: llvmbugs at cs.uiuc.edu


The attached testcase fails:

$ llc b.bc -fast -regalloc=local -march=arm

llc: RegisterScavenging.cpp:272: void llvm::RegScavenger::forward(): Assertion
`(isReserved(Reg) || isUnused(Reg) || IsImpDef || isImplicitlyDefined(Reg) ||
isLiveInButUnusedBefore(Reg, MI, MBB, TRI, MRI)) && "Re-defining a live
register!"' failed.
(gdb) bt
#0  0x00007f211049d095 in raise () from /lib/libc.so.6
#1  0x00007f211049eaf0 in abort () from /lib/libc.so.6
#2  0x00007f21104962df in __assert_fail () from /lib/libc.so.6
#3  0x0000000000f40019 in llvm::RegScavenger::forward (this=0x182dd50)
    at RegisterScavenging.cpp:269
#4  0x0000000000a66e01 in llvm::RegScavenger::forward (this=0x182dd50, I=
      {<bidirectional_iterator<llvm::MachineInstr,long int>> =
{<std::iterator<std::bidirectional_iterator_tag,llvm::MachineInstr,long
int,llvm::MachineInstr*,llvm::MachineInstr&>> = {<No data fields>}, <No data
fields>}, NodePtr = 0x1828d80})
    at
/usr/local/google/home/nlewycky/llvm/include/llvm/CodeGen/RegisterScavenging.h:102
#5  0x0000000000f0e0d9 in replaceFrameIndices (this=0x181bf70, Fn=@0x1828660)
    at PrologEpilogInserter.cpp:1448
#6  0x0000000000f124a3 in runOnMachineFunction (this=0x181bf70, Fn=@0x1828660)
    at PrologEpilogInserter.cpp:143
#7  0x0000000000ee97db in llvm::MachineFunctionPass::runOnFunction (
    this=0x181bf70, F=@0x180ace0) at MachineFunction.cpp:47
#8  0x00000000010e77b2 in llvm::FPPassManager::runOnFunction (this=0x18103f0, 
    F=@0x180ace0) at PassManager.cpp:1338
#9  0x00000000010e7d27 in llvm::FunctionPassManagerImpl::run (this=0x180dbe0, 
    F=@0x180ace0) at PassManager.cpp:1291
#10 0x00000000010e7ece in llvm::FunctionPassManager::run (this=0x7fff197acab0, 
    F=@0x180ace0) at PassManager.cpp:1233
#11 0x0000000000820080 in main (argc=5, argv=0x7fff197accc8) at llc.cpp:322
(gdb) up 3
#3  0x0000000000f40019 in llvm::RegScavenger::forward (this=0x182dd50)
    at RegisterScavenging.cpp:269
269         assert((isReserved(Reg) || isUnused(Reg) ||
(gdb) p Reg
$1 = 26


-- 
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