------- Comment #7 from jakub at gcc dot gnu dot org 2007-12-03 15:00 ------- This isn't one bug, but many unrelated ones. I have a fix for #c3 testcase, a fix for the p+ issue in the initial testcase and also a different ICE with missing DECL_GIMPLE_REG_P created by parloop. But those aren't the only ones, when that is fixed, it ICEs again in completely different spot, I'm afraid the parloop pass still has lots of issues (but those shouldn't be considered regressions, at least not P2 ones, given that it is a new pass).
Here is a cleaned up alternative to the initial testcase which doesn't use undefined vars etc.: /* { dg-do compile } */ /* { dg-options "-O3 -ftree-parallelize-loops=4" } */ struct T { int t; struct { short s1, s2, s3, s4 } *s; }; void Create_BCyl (int *a, int *b, int *c, int *d, struct T *e) { int i; for (i = 0; i < e->t; i++) { e->s[i].s1 = a[i]; e->s[i].s2 = b[i]; e->s[i].s3 = c[i]; e->s[i].s4 = d[i]; } } I guess I'll leave the rest to Zdenek/Sebastian once I have tested/posted the fixes I have. -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2007-12-03 13:59:02 |2007-12-03 15:00:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33453