[LLVMbugs] [Bug 2757] New: llc aborting

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Sep 2 20:05:04 PDT 2008


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

           Summary: llc aborting
           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: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu


Seen on Ubuntu Hardy on ia32.

clang small.c --emit-llvm -o - 2>/dev/null | llvm-as | opt -std-compile-opts |
llc
llc[0x8938988]
/lib/tls/i686/cmov/libc.so.6(abort+0x101)[0xb7d16a01]
llc(_ZNK4llvm18X86GenRegisterInfo9getSubRegEjj+0x18)[0x851a768]
Aborted

regehr at john-home:~/volatile/tmp24$ cat small.c

typedef signed char int8_t;
typedef short int int16_t;
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
__extension__ typedef unsigned long long int uint64_t;
static inline int
rshift_s_s (int left, int right)
{
  return left;
}
static inline uint32_t
safe_add_int8_t_s_s (int8_t si1, uint32_t si2)
{
  if ((si1 > 0) && (si2 > 0) && (si1 > (127 - si2)) || (si1 < 0) && (si2 < 0)
      && (si1 < (-128 - si2)))
    return si1;
  return si1 + si2;
}
static inline int16_t
safe_mod_int16_t_s_s (int16_t si1, uint32_t si2)
{
  if ((si2) || (si1 == (-32767 - 1)) && (si2))
    return si1;
  return si1 % si2;
}
static inline uint32_t
safe_sub_uint8_t_u_u (uint8_t ui1, uint32_t ui2)
{
  return ui1 - ui2;
}

uint32_t g_3;
uint32_t g_112 = 0x9819055545B60A5FLL;
uint32_t
func_85 (uint32_t p_86, uint32_t p_87, uint32_t p_88)
{
  for (1; p_86; p_86 = safe_sub_uint8_t_u_u (p_86, 1))
    {
      for (0; p_87; p_87 = safe_add_int8_t_s_s (p_87, 1))
        if (0)
          {
          }
    }
}
uint32_t
func_106 (uint64_t p_107, uint32_t p_109, uint32_t p_111)
{
  func_85 (g_112, g_112, 1);
  return g_3;
}

uint32_t
func_125 (uint32_t p_126, uint32_t p_128, uint32_t p_129)
{
  uint32_t l_138 = 0x1A8DCBC2B75F9727LL;
  func_104 (safe_mod_int16_t_s_s
            (func_106 (1, 0x96L, 1),
             1 != (rshift_s_s (func_106 (1, l_138, 1), 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