[LLVMbugs] [Bug 8620] New: Assertion `false && "Ran out of registers during register allocation!"' failed.
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Nov 15 16:09:15 PST 2010
http://llvm.org/bugs/show_bug.cgi?id=8620
Summary: Assertion `false && "Ran out of registers during
register allocation!"' failed.
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: regehr at cs.utah.edu
CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu
Filing this separately from PR8362, PR5010, PR4668 since those all involve
inline assembly, and this one doesn't. Apologies if that wasn't right.
[regehr at n6 ~]$ clang -v
clang version 2.9 (trunk 119288)
Target: i386-pc-linux-gnu
Thread model: posix
[regehr at n6 ~]$ clang -c -w -Os small.c
clang: RegAllocLinearScan.cpp:1192:
void<unnamed>::RALinScan::assignRegOrStackSlotAtInterval(llvm::LiveInterval*):
Assertion `false && "Ran out of registers during register allocation!"' failed.
0 clang 0x09400018
Stack dump:
0. Program arguments:
/mnt/local/randomtest/compiler-install/llvm-gcc-r119288-install/bin/clang -cc1
-triple i386-pc-linux-gnu -emit-obj -disable-free -main-file-name small.c
-mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases
-target-cpu pentium4 -target-linker-version 2.20.1 -resource-dir
/mnt/local/randomtest/compiler-install/llvm-gcc-r119288-install/bin/../lib/clang/2.9
-Os -w -ferror-limit 19 -fmessage-length 88 -fgnu-runtime
-fdiagnostics-show-option -fcolor-diagnostics -o small.o -x c small.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'small.c'.
4. Running pass 'Linear Scan Register Allocator' on function '@int641'
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal 1 (use -v to see
invocation)
[regehr at n6 ~]$ cat small.c
static unsigned char
foo (signed char si1, unsigned char si2)
{
return si1 + si2;
}
static unsigned char
bar (signed char left, int right)
{
return left || right || right ? left : left >> right;
}
static long long
baz (long long si1, long long si2)
{
return si2 || si1 && si2 ? si1 : (si1 % si2);
}
static unsigned char
bux (unsigned char ui1, unsigned char ui2)
{
return ui1 + ui2;
}
static unsigned char
biz (unsigned short left, int right)
{
return right < right >= left >> right ? : left << right;
}
volatile unsigned char g_5[4][4][4][1][1][1][1] = {
};
unsigned long long g_6;
unsigned char g_393[3][4] = {
};
int641 (void)
{
unsigned char l_4[6][10];
unsigned char l_20[10][4];
unsigned char *l = &g_393[1][2];
short l_399[3];
int i, j;
for (j = 0; j < 10; j++)
l_4[i][j] = 0;
l_399[i] = 0;
*l |= baz (+l_4[5][6]
&& g_5[0][0][2][0][0][0][0] > 1,
g_6) >
foo (biz
(bar (bux (g_6, l_4[5][6]), 0), (l_20[3][1], 0) || g_6), l_20[3][1]);
*l =
safe (l_399[2] & l_4[5][6]),
l_399[2] > !l_20[5][1] <= l_399[2] >= l_399[1];
}
--
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