[Bug tree-optimization/45948] [4.6 Regression] ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1242) with -O -fstrict-overflow -ftree-loop-distribution

spop at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 2 18:39:00 GMT 2010


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

--- Comment #4 from Sebastian Pop <spop at gcc dot gnu.org> 2010-12-02 18:39:23 UTC ---
For this case, we end up generating two memset (0) for the first loop,
and we completely remove that loop:

void
foo (int i, int n)
{
  int a[30];
  int b[30];
  for (; i < n; i++)
    a[i] = b[i] = 0;

  while (1)
    if (b[0])
      bar (a[i - 1]);
}

The problem seems to be that the close phi node for the last value of
i is not removed by the scev constant propagation, and we don't have
the for loop anymore to compute it.



More information about the Gcc-bugs mailing list