This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/34017] New: ICE in lambda_loopnest_to_gcc_loopnest with -O2 -ftree-loop-linear
- From: "janis at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Nov 2007 17:54:05 -0000
- Subject: [Bug tree-optimization/34017] New: ICE in lambda_loopnest_to_gcc_loopnest with -O2 -ftree-loop-linear
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Test 445.gobmk in SPEC CPU2006 fails to build on powerpc64-linux with "-m64 -O2
-ftree-loop-linear" due to an ICE in lambda_loopnest_to_gcc_loopnest, at
lambda-code.c:1840. This test case demonstrates the problem:
extern int size;
struct data2 { };
struct data1 { int origin; };
static void
print (struct data1 *d1, struct data2 *d2)
{
int m, n;
int mini, maxi;
int minj, maxj;
int origin = d1[0].origin;
minj = size;
for (m = 0; m < size; m++)
for (n = 0; n < size; n++)
{
if (d1[21 + m * 20 + n].origin != origin)
continue;
if (m > maxi)
maxi = m;
if (n < minj)
minj = n;
}
for (m = mini; m <= maxi; m++)
{
for (n = minj; n <= maxj; n++)
{
}
}
}
void
compute (struct data1 *d1, struct data2 d2[400])
{
print (d1, d2);
}
The failure begins with:
http://gcc.gnu.org/viewcvs?view=rev&rev=114205
r114205 | spop | 2006-05-29 16:01:16 +0000 (Mon, 29 May 2006)
--
Summary: ICE in lambda_loopnest_to_gcc_loopnest with -O2 -ftree-
loop-linear
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janis at gcc dot gnu dot org
GCC target triplet: powerpc64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34017