[LLVMbugs] [Bug 19391] New: clang 3.4 hangs in SymbolTableListTraits::transferNodesFromList() w/ -Os

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Apr 10 00:06:52 PDT 2014


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

            Bug ID: 19391
           Summary: clang 3.4 hangs in
                    SymbolTableListTraits::transferNodesFromList() w/ -Os
           Product: clang
           Version: 3.4
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: asolokha at gmx.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

clang 3.4 on x86_64-pc-linux-gnu hangs when compiling the following test case
w/ -Os:

static int
bv(void)
{
  static int zv = 1;
  int wf = 1;
 h3:
  for (zv = 0; zv < 1; ++zv)
    if (0 != wf)
      goto h3;
  return 0;
}

static void
sj(int d2)
{
  int ol;
  int fo;
  int *rf = &fo;
  volatile int *as = &fo;
  for (d2 = 0; d2 < 2; ++d2)
    *as = 0;
  for (ol = 15; ol != 2; ol -= 3U)
    if (ol != (0 == *rf)) {
      static int st;
      for (st = 0; st < 1; ++st)
        ;
    }
}

void
u1(void)
{
  sj(bv());
}

It seems that the endless loop occurs in
llvm::SymbolTableListTraits<llvm::Instruction,
llvm::BasicBlock>::transferNodesFromList(llvm::ilist_traits<llvm::Instruction>&,
llvm::ilist_iterator<llvm::Instruction>,
llvm::ilist_iterator<llvm::Instruction>).

W/ the following change to the test case compilation takes a few seconds but
eventually ends successfully:

 static void
 sj(int d2)
 {
-  int ol;
+  short int ol;
   int fo;
   int *rf = &fo;
   volatile int *as = &fo;
   for (d2 = 0; d2 < 2; ++d2)
     *as = 0;
-  for (ol = 15; ol != 2; ol -= 3U)
+  for (ol = 15; ol != 2; ol -= 3)
     if (ol != (0 == *rf)) {
       static int st;
       for (st = 0; st < 1; ++st)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140410/a9b99636/attachment.html>


More information about the llvm-bugs mailing list