[LLVMbugs] [Bug 1204] NEW: LocalSpiller not handling virtual register map correctly

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Feb 15 13:46:29 PST 2007


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

           Summary: LocalSpiller not handling virtual register map correctly
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com


When building llvm-gcc, while compiling libiberty.c, I get an assertion failed:

742           // Otherwise, reload it and remember that we have it.
743           PhysReg = VRM.getPhys(VirtReg);
744           assert(PhysReg && "Must map virtreg to physreg!");

In the failure case, VirtReg is 1041 and getPhys returns 0. This is likely more
fallout from BitVector.

The stack trace is:

#0  0x0026b402 in __kernel_vsyscall ()
#1  0x00321ee9 in raise () from /lib/libc.so.6
#2  0x003234f1 in abort () from /lib/libc.so.6
#3  0x0031b859 in __assert_fail () from /lib/libc.so.6
#4  0x08726741 in (anonymous namespace)::LocalSpiller::RewriteMBB
(this=0x9d39c58, MBB=@0x9dfced0, VRM=@0x9e91118) at VirtRegMap.cpp:744
#5  0x0872e848 in (anonymous namespace)::LocalSpiller::runOnMachineFunction
(this=0x9d39c58, MF=@0x9e307a8, VRM=@0x9e91118)
    at VirtRegMap.cpp:231
#6  0x0871b953 in (anonymous namespace)::RA::runOnMachineFunction
(this=0x99c80e0, fn=@0x9e307a8) at RegAllocLinearScan.cpp:209
#7  0x0856e426 in llvm::MachineFunctionPass::runOnFunction (this=0x99c80e0,
F=@0x99ec680)
    at /proj/llvm/llvm-2/include/llvm/CodeGen/MachineFunctionPass.h:37
#8  0x088c57e8 in llvm::FPPassManager::runOnFunction (this=0x99c6e50,
F=@0x99ec680) at PassManager.cpp:989
#9  0x088c5a3c in llvm::FunctionPassManagerImpl::run (this=0x99c6b88,
F=@0x99ec680) at PassManager.cpp:944
#10 0x088c5afe in llvm::FunctionPassManager::run (this=0x99c51b8, F=@0x99ec680)
at PassManager.cpp:889
#11 0x0833b9c8 in llvm_asm_file_end () at ../../src-2/gcc/llvm-backend.cpp:471
#12 0x0830c459 in toplev_main (argc=0, argv=0xbf862a94) at
../../src-2/gcc/toplev.c:1167
#13 0x0030f4e4 in __libc_start_main () from /lib/libc.so.6
#14 0x0804e171 in _start ()



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list