[LLVMbugs] [Bug 15386] New: non-terminating loops with optimization causes clang to hang

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Feb 27 18:30:41 PST 2013


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

            Bug ID: 15386
           Summary: non-terminating loops with optimization causes clang
                    to hang
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: dhazeghi at yahoo.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following snippet causes top-of-trunk clang to get stuck in an infinite
loop when compiled at -O1 or higher.  This is likely related to 15384, but that
bug only triggers at -O3.

$ clang-trunk -v
clang version 3.3 (trunk 172630)
Target: x86_64-pc-linux-gnu
Thread model: posix
$ cat loop.c
int a, b, c;

void f1 ()
{
  for (; b; b++)
    if (a) 
      a = 1;

  for (b = 0; b != 1; b = b + (unsigned int) 2)
    if (!a) 
      a = 0;
}

void f2 ()
{
  for (;;);
}

void f3 ()
{
  f2();
  for (; c; c++) 
    f2();
  f1();
}

int main ()
{
  return 0;
}
$ clang-trunk -O1 loop.c
$ clang-trunk -Os loop.c
<hangs>

-- 
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/20130228/68e0d2ae/attachment.html>


More information about the llvm-bugs mailing list