http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53571
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-06-05 21:03:03 UTC --- (In reply to comment #1) > Please specify the cloog/ppl versions you are using. What target is this on? I can reproduce it with the current GCC trunk on openSUSE Factory (x86-64) [package libcloog0-debuginfo-0.15.10+ppl-9.8]. Program received signal SIGSEGV, Segmentation fault. #0 0x00002aaaaace1656 in cloog_domain_stride (domain=<optimized out>, strided_level=<optimized out>, nb_par=<optimized out>, stride=0x7fffffffd5e0, offset=0x7fffffffd5d0) at source/ppl/domain.c:2813 #1 0x00002aaaaacd7b21 in cloog_loop_stride_1 (nb_par=2, level=1, loop=0x15a8c20) at source/loop.c:1077 #2 cloog_loop_generate_general (loop=0x0, level=1, scalar=1, scaldims=0x158b000, nb_scattdims=3, nb_par=<optimized out>, options=0x1596780) at source/loop.c:1371 #3 0x00002aaaaacd71f3 in cloog_loop_generate_scalar (options=0x1596780, nb_par=2, nb_scattdims=3, scaldims=0x158b000, scalar=0, level=1, loop=0x159c930) at source/loop.c:1489 #4 cloog_loop_generate (loop=<optimized out>, context=0x0, level=1, scalar=0, scaldims=0x158b000, nb_scattdims=3, nb_par=2, options=0x1596780) at source/loop.c:1573 #5 0x00002aaaaace834b in cloog_program_generate (program=0x1595d00, options=0x1596780) at source/program.c:687 #6 0x0000000000cd34b5 in scop_to_clast (scop=0x158e890) at /home/tob/projects/gcc-git/gcc/gcc/graphite-clast-to-gimple.c:1551 #7 0x0000000000cd36d5 in gloog (scop=0x158e890, bb_pbb_mapping=0x158e4f0) at /home/tob/projects/gcc-git/gcc/gcc/graphite-clast-to-gimple.c:1632 #8 0x0000000000cd078e in graphite_transform_loops () at /home/tob/projects/gcc-git/gcc/gcc/graphite.c:276 #9 0x00000000009e2c87 in graphite_transforms () at /home/tob/projects/gcc-git/gcc/gcc/tree-ssa-loop.c:254 The failing line is: cloog_vector_gcd (U->p[0], U->NbColumns, stride); The problem is that U->p == NULL. And U is initialized via cloog_solve_diophantine, cloog_matrix_hermite (temp, &hermi, &unimod); rank = cloog_dio_get_first_diagonal_zero (hermi); nbc = temp->NbColumns; ... *u = cloog_dio_init_U (unimodinv, hermi->NbColumns, rank); In the latter, one has: if (rank == n) return cloog_matrix_alloc (0, 0); And according to gdb rank==2 (the other arguments are optimized out). Well, and for a 0 argument, cloog_matrix_alloc sets u->p to NULL.