extern void bar () __attribute__ ((noreturn)); inline double baz (double *x, unsigned int y) { if (y >= 6) bar (); return x[y]; }
double *a, *b; void foo () { unsigned int r, s, t; for (r = 0; r < 2; r++) for (t = 0; t < 2; t++) { for (s = 0; s < 3; s++) b[r * 2 + t] += baz (a, 3 * s + t); } } ICEs with -O2 -funroll-loops in get_loop_body, loop->num_nodes is 0. -- Summary: [4.0/4.1 regression] ICE in get_loop_body Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27335