[LLVMbugs] [Bug 2084] New: Regalloc should deal with running out of registers more gracefully
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Feb 22 13:02:19 PST 2008
http://llvm.org/bugs/show_bug.cgi?id=2084
Summary: Regalloc should deal with running out of registers more
gracefully
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: sharparrow1 at yahoo.com
CC: llvmbugs at cs.uiuc.edu
Testcase (note that it is impossible to allocate 8 general regs to an asm on
x86):
int a() {int a,b,c,d,di,si,bp,sp;; asm volatile ("%0 %1 %2 %3 %4 %5 %6 %7" :
"=r"(a), "=r"(b), "=r"(c), "=r"(d), "=r"(di), "=r"(si), "=r"(bp), "=r"(sp) : );
return a;}
gcc gives the following error:
<stdin>: In function ‘a’:
<stdin>:1: error: can't find a register in class ‘GENERAL_REGS’ while
reloading ‘asm’
llc -regalloc=linearscan hangs.
llc -regalloc=local silently puts multiple outputs into the same register.
llc -regalloc=simple gives the following assertion:
llc: /home/eli/llvm/lib/CodeGen/RegAllocSimple.cpp:128: unsigned
int<unnamed>::RegAllocSimple::getFreeReg(unsigned int): Assertion `RI+regIdx !=
RE && "Not enough registers!"' failed.
llc -regalloc=bigblock silently puts multiple outputs into the same register.
--
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