https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71824
--- Comment #13 from Leandro Nini <drfiemost at email dot it> --- I've applied the patch to the 6.3.1 20170202 snapshot and the former test compiles but this one triggers the same error: typedef struct { float x1; } bx; typedef struct { int w; short o; } T2P; T2P a; int b; void fn2(); void fn3(bx*,short); void fn1() { unsigned i = 0; int c; bx *d; bx **h; if (b == 0) { fn2(); return; } for (; c; c++) for (; i < 100; i++) { d = h[i]; d->x1 = a.w; } for (; i < 100; i++) { d = h[i]; d->x1 = a.w; } if (a.o) for (; b;) fn3(d, a.o); } /opt/gcc/bin/gcc -O2 -floop-interchange bug71824_v2.c bug71824_v2.c: In function ‘fn1’: bug71824_v2.c:10:6: internal compiler error: in add_loop_constraints, at graphite-sese-to-poly.c:931 void fn1() { ^~~ 0x17540ea add_loop_constraints ../../gcc/graphite-sese-to-poly.c:931 0x1754538 build_iteration_domains ../../gcc/graphite-sese-to-poly.c:1001 0x17546b5 build_iteration_domains ../../gcc/graphite-sese-to-poly.c:1040 0x17553ae build_poly_scop(scop*) ../../gcc/graphite-sese-to-poly.c:1364 0x1739ee5 graphite_transform_loops() ../../gcc/graphite.c:319 0x1739f87 graphite_transforms ../../gcc/graphite.c:356 0x173a0ad execute ../../gcc/graphite.c:433