Bug 45552 - [graphite] ICE in sese_loop_depth, at sese.h:172
Summary: [graphite] ICE in sese_loop_depth, at sese.h:172
Status: RESOLVED DUPLICATE of bug 45758
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.5.1
: P3 normal
Target Milestone: ---
Assignee: Sebastian Pop
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-06 04:35 UTC by Elias Gabriel Amaral da Silva
Modified: 2010-12-23 18:52 UTC (History)
3 users (show)

See Also:
Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
Build: x86_64-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2010-12-14 17:17:49


Attachments
preprocessed file (66.14 KB, application/octet-stream)
2010-09-06 04:36 UTC, Elias Gabriel Amaral da Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elias Gabriel Amaral da Silva 2010-09-06 04:35:11 UTC
This error happens while building xscreensaver 5.11 at gentoo, using gentoo's gcc 4.5.1:

x86_64-pc-linux-gnu-gcc -c -I. -I. -I./../../utils -I./.. -I../..  -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libxml2 -I/usr/include/libglade-2.0   -pthread -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -DSTANDALONE -DUSE_GL -DHAVE_CONFIG_H -march=native -O2 -pipe -fgraphite-identity -floop-interchange         -floop-strip-mine -floop-block -ftree-loop-distribution -I/usr/include glcells.c
glcells.c: In function ‘create_list.clone.0’:
glcells.c:846:12: internal compiler error: in sese_loop_depth, at sese.h:172

Gentoo applies those patches:

http://distfiles.gentoo.org/distfiles/gcc-4.5.1-patches-1.0.tar.bz2

(But they seem unrelated)


Following the bug guidelines I made a minimal test case:

(x64) red tmp # x86_64-pc-linux-gnu-gcc -O2 -fgraphite-identity -ftree-loop-distribution glcells.i -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.1/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.5.1/work/gcc-4.5.1/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.1 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --enable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.1 p1.0, pie-0.4.5'
Thread model: posix
gcc version 4.5.1 (Gentoo 4.5.1 p1.0, pie-0.4.5) 
COLLECT_GCC_OPTIONS='-O2' '-fgraphite-identity' '-ftree-loop-distribution' '-v' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.1/cc1 -fpreprocessed glcells.i -quiet -dumpbase glcells.i -mtune=generic -march=x86-64 -auxbase glcells -O2 -version -fgraphite-identity -ftree-loop-distribution -o /tmp/ccby2wxc.s
GNU C (Gentoo 4.5.1 p1.0, pie-0.4.5) version 4.5.1 (x86_64-pc-linux-gnu)
	compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo 4.5.1 p1.0, pie-0.4.5) version 4.5.1 (x86_64-pc-linux-gnu)
	compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c718f41cef5edae99a78fff10723b0bf
glcells.c: In function ‘create_list.clone.0’:
glcells.c:846:12: internal compiler error: in sese_loop_depth, at sese.h:172
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.gentoo.org/> for instructions.
Comment 1 Elias Gabriel Amaral da Silva 2010-09-06 04:36:42 UTC
Created attachment 21708 [details]
preprocessed file
Comment 2 Sebastian Pop 2010-12-14 17:17:49 UTC
Mine.
I can see this ICE on the 4.5 branch.
On trunk this has been fixed.
Comment 3 Sebastian Pop 2010-12-14 17:24:39 UTC
I can see a different error than what reported:
glcells.c:846:12: internal compiler error: in chrec_component_in_loop_num, at tree-chrec.c:758

I'm reducing the testcase using delta.
Comment 4 Sebastian Pop 2010-12-14 19:18:56 UTC
Reduced testcase:

typedef struct
{
  double z;
} Vector;
typedef struct
{
  float *vertex;
  float *normal;
} VertexArray;
typedef struct
{
  Vector *vertex;
  int num_vertex;
} ObjectSmooth;
typedef struct
{
  int num_cells;
} State;
static void *array_from_ObjectSmooth( ObjectSmooth *obj )
{
  int i, j;
  VertexArray *array = (VertexArray *) malloc( sizeof( VertexArray ) );
  array->vertex = (float *) malloc( 3*sizeof(float)*obj->num_vertex );
  array->normal = (float *) malloc( 3*sizeof(float)*obj->num_vertex );
  for (i=0, j=0; i<obj->num_vertex; ++i) {
    array->normal[j++] = 9;
    array->vertex[j] = obj->vertex[i].z;
    array->normal[j++] = 1;
  }
}
static void draw_cell( void )
{
  glCallList( array_from_ObjectSmooth( (ObjectSmooth *) malloc(10) ));
}
static int render( State *st)
{
  int b;
  for (b=0; b<st->num_cells; ++b) {
    draw_cell();
    draw_cell();
  }
}
reshape_glcells( int width, int height )
{
  render( 0 );
}
Comment 5 Sebastian Pop 2010-12-17 22:23:21 UTC
This is a duplicate of PR45758 that has been fixed on trunk.
I backported this change to the 4.5 branch and that fixes the
testcase.  I will commit the fix after regstrap.

*** This bug has been marked as a duplicate of bug 45758 ***
Comment 6 Sebastian Pop 2010-12-23 18:52:08 UTC
Author: spop
Date: Thu Dec 23 18:52:04 2010
New Revision: 168213

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168213
Log:
Fix PR45552: backport fix for PR45758 to 4.5 branch.

2010-12-23  Sebastian Pop  <sebastian.pop@amd.com>

	Backport from mainline
	Fix PR45758: reset scevs before Graphite.
        2010-09-24  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/45552
	* graphite.c (graphite_initialize): Call scev_reset.

	* gcc.dg/graphite/pr45552.c

Added:
    branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/graphite/pr45552.c
Modified:
    branches/gcc-4_5-branch/gcc/ChangeLog
    branches/gcc-4_5-branch/gcc/graphite.c
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog