[LLVMbugs] [Bug 6489] New: ice: Cannot find live range

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Mar 3 20:35:21 PST 2010


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

           Summary: ice: Cannot find live range
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P5
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu


Seen with clang r97662 on x64 Linux.

[regehr at gamow tmp274]$ clang -O small.c -c 
clang: SimpleRegisterCoalescing.cpp:2315: bool
llvm::SimpleRegisterCoalescing::JoinIntervals(llvm::LiveInterval&,
llvm::LiveInterval&, bool&): Assertion `lr && "Cannot find live range"' failed.
0  clang           0x000000000117320f
1  clang           0x00000000011739fd
2  libpthread.so.0 0x00007f2c03fe0190
3  libc.so.6       0x00007f2c032e64b5 gsignal + 53
4  libc.so.6       0x00007f2c032e9f50 abort + 384
5  libc.so.6       0x00007f2c032df481 __assert_fail + 241
6  clang           0x0000000000e4b97c
7  clang           0x0000000000e4eacd
8  clang           0x0000000000e5036f
9  clang           0x0000000000e50e8e
10 clang           0x0000000000e51d6c
11 clang           0x00000000010fd596
12 clang           0x00000000010fd771
13 clang           0x00000000010fd99e
14 clang           0x0000000000413436
15 clang           0x0000000000413a75
16 clang           0x00000000005f8544
17 clang           0x0000000000416c09
18 clang           0x00000000004095ce
19 clang           0x000000000040c36b main + 1771
20 libc.so.6       0x00007f2c032d1abd __libc_start_main + 253
21 clang           0x0000000000407149
Stack dump:
0.    Program arguments:
/tmp/z/compiler-install/llvm-gcc-r97662-install/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -S -disable-free -main-file-name small.c
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -resource-dir
/tmp/z/compiler-install/llvm-gcc-r97662-install/lib/clang/1.1 -O2
-fmessage-length 85 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics
-o /tmp/cc-T2FARQ.s -x c small.c 
1.    <eof> parser at end of file
2.    Code generation
3.    Running pass 'Simple Register Coalescing' on function '@func_56'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)
[regehr at gamow tmp274]$ cat small.c
int qux (int, int);

static short
foo (short left, unsigned int right)
{
  return 0;
}

static unsigned char
bar (unsigned char ui1, unsigned char ui2)
{
  return (ui2 == 0) ? ((ui1)) : (ui1 / ui2);
}

static unsigned
baz (unsigned ui1, unsigned ui2)
{
  return (ui2 == 0) ? ((ui1)) : (ui1 % ui2);
}

struct S0
{
};
int g_4[4][5];
int g_44 = 0xC733F7CFL;
int *g_87 = 0;
int **g_86 = (&g_87);
int ***g_85[1];
int *volatile g_116 = (&g_4[0][1]);
unsigned g_124 = -9L;
int g_140 = 6L;
struct S0 g_158[8] = {
};

struct S0 *g_160 = (&g_158[2]);
short g_306 = 0xFF2FL;
unsigned char g_312 = 1L;
const int func_35 (int ***p_36, unsigned p_37, int p_38, int p_39,
           unsigned p_40);
void
func_56 (long p_57, int ***p_58)
{
  signed char l_299 = 0xF5L;
  const int *l_303 = (&g_4[0][1]);
  const int **l_302 = (&l_303);
  const int ***l_301[10][3];
  int ***l_304[10];
  int ***l_305[5];
  unsigned l_307 = -3L;
  int l_308[3];
  int l_309 = -2L;
  unsigned short l_310 = 0x04DFL;
  int l_311[6][4];
  short l_313 = 0x1479L;
  unsigned long l_314 = -10L;
  int l_315 = 0L;
  struct S0 **l_316 = (&g_160);
  unsigned long l_317 = 0L;
  unsigned char l_318 = 0L;
  int i;
  for (i = 0; i < 3; i++)
    l_308[i] = 9L;
  (l_318) =
    func_35 (p_58, l_299, (**l_302),
         func_35 (l_304[8], (g_4[2][3]),
              func_35 (l_305[4],
                   (((qux ((*g_116), (***l_301[1][1]))) >
                 0xF8A779C4L) >= func_35 (g_85[0], (g_124),
                              func_35 ((&g_86),
                                   (g_44),
                                   (p_57),
                                   (*l_303),
                                   (p_57)),
                              (g_306), (g_140))),
                   ((bar ((qux ((l_307), l_308[0])), 5L)) >=
                (baz ((qux ((p_57), (l_309))), -1L))),
                   (l_310),
                   ((l_311[4][1] | (~(***l_301[1][2]))) ==
                (foo (((g_312) & (l_313)), (l_314))))), l_315,
              (0 != l_316)), (l_317));
}
[regehr at gamow tmp274]$ clang -v
clang version 1.1 (trunk)
Target: x86_64-unknown-linux-gnu
Thread model: posix

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