[LLVMbugs] [Bug 5269] New: ice: Shouldn't be alive across any blocks!
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Wed Oct 21 09:01:34 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=5269
Summary: ice: Shouldn't be alive across any blocks!
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: regehr at cs.utah.edu
CC: llvmbugs at cs.uiuc.edu
Seen on Ubuntu Jaunty on x86. Sorry for the gross testcase...
regehr at john-home:~/volatile/tmp209$ clang -O3 small.c -w
clang-cc: LiveIntervalAnalysis.cpp:722: void
llvm::LiveIntervals::handleVirtualRegisterDef(llvm::MachineBasicBlock*,
llvm::ilist_iterator<llvm::MachineInstr>, llvm::LiveIndex,
llvm::MachineOperand&, unsigned int, llvm::LiveInterval&): Assertion
`vi.AliveBlocks.empty() && "Shouldn't be alive across any blocks!"' failed.
0 clang-cc 0x090832e8
Stack dump:
0. Program arguments:
/home/regehr/z/tmp/llvm-gcc-r84737-install/bin/../libexec/clang-cc -triple
i386-pc-linux-gnu -S -disable-free -main-file-name small.c --relocation-model
static --disable-fp-elim --unwind-tables=0 --mcpu=pentium4 --fmath-errno=1 -O3
-w -fexceptions=0 -fdiagnostics-show-option -o /tmp/cc-co651y.s -x c small.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Live Interval Analysis' on function '@uint323'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)
regehr at john-home:~/volatile/tmp209$ clang -v
clang version 1.1 (trunk 84737)
Target: i386-pc-linux-gnu
Thread model: posix
regehr at john-home:~/volatile/tmp209$ cat small.c
extern void foo (void) __attribute__ ((__noreturn__));
static unsigned char bar (long long _si1, unsigned char _si2)
{
return _si2 << -_si2 ? 0 : -1;
}
int g_5;
volatile unsigned char g_37;
int *g_63;
unsigned char g_68;
unsigned char g_70;
unsigned char g_78;
int *func_49 (int * p_50);
int *func_52 (long long p_53, int ** p_54, unsigned char p_55, unsigned p_56);
int func_60 (char p_61, int32p_62);
unsigned char * func_3 (int * p_4)
{
unsigned char *l_7 = &g_5;
return l_7;
}
unsigned char func_26 (unsigned p_27, unsigned char * p_28, uint8p_29)
{
return p_27;
}
void uint323 (short p_44, unsigned char * uint16p_46)
{
unsigned char l;
l = func_26 (p_44, func_49 (func_49 (func_52)), 0);
}
int *func_49 (int * p_50)
{
unsigned char *l_58 = &g_5;
unsigned char *l_67 = &g_5;
for (0; g_37; 0)
{
func_60 (g_5, *g_63);
unsigned char l_71;
l_71 = func_26 (g_70, l_67, 1);
1 == &g_5 ? 0 : foo ();
if (*g_63
|| bar (&g_5, !func_26 (g_68, l_67, 0)
|| *g_63 && *g_63))
return l_58;
1 == &g_5 ? 0 : foo ();
g_78 = (p_50 == 0 ^ 1 && l_71) < *g_63;
}
return 0;
}
int func_60 (char p_61, int32p_62)
{
g_63 = func_3 (0);
}
--
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