[Bug c/51069] New: ICE in verify_loop_structure, at cfgloop.c:1559

regehr at cs dot utah.edu gcc-bugzilla@gcc.gnu.org
Wed Nov 9 20:59:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51069

             Bug #: 51069
           Summary: ICE in verify_loop_structure, at cfgloop.c:1559
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: regehr@cs.utah.edu
                CC: chenyang@cs.utah.edu


[regehr@gamow tmp056]$ current-gcc -v

Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r181229-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r181229-install
--program-prefix=r181229- --enable-languages=c,c++
Thread model: posix
gcc version 4.7.0 20111109 (experimental) (GCC) 

[regehr@gamow tmp056]$ current-gcc -Ofast -funroll-loops -c -w small.c

small.c: In function 'func_44':
small.c:73:1: error: edge from 10 to 12 should be marked irreducible
small.c:73:1: error: basic block 12 should be marked irreducible
small.c:73:1: internal compiler error: in verify_loop_structure, at
cfgloop.c:1559
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

[regehr@gamow tmp056]$ cat small.c


int
func_27 (int left, int right)
{
  return left;
}

int
func_29 (int left, int right)
{
  return left;
}

struct S0
{
  int f0;
  int f3;
};
struct S1
{
  struct S0 f4;
  int f8;
};
struct S0 g_107;
int g_132;
struct S0 g_147;
int g_154;
struct S1 g_288;
struct S1 g_399;
int func_52 (int, struct S0);
int func_55 ();
int
func_44 (int p_46, int p_47)
{
  struct S0 l_170;
  int l_356[] = {
    0
  };
lbl_598:if (p_46)
    {
    }
  else
    {
    lbl_485:func_52 (0, l_170);
      if (func_29 (func_27 (g_399.f8, 0), 0))
    for (g_107.f0 = 0; g_107.f0 >= 0; g_107.f0 -= 1)
      {
        for (;;)
          if (l_356[1])
        break;
        if (g_288.f4.f3)
          goto lbl_485;
        if (g_399.f8)
          {
        g_132 = 0;
        continue;
          }
        for (; g_154; g_154 = 0)
          {
          }
      }
    }
  if (func_55 ())
    {
    }
  else
    for (g_147.f0 = 0;;)
      {
    if (p_46)
      continue;
    goto lbl_598;
      }
  return 0;
}



More information about the Gcc-bugs mailing list