111
|
1 /* { dg-do run } */
|
|
2 /* { dg-options "-O3 -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
|
|
3
|
|
4 #define M (300)
|
|
5 #define N (200)
|
|
6
|
|
7 struct st
|
|
8 {
|
|
9 double a[M];
|
|
10 double b[M];
|
|
11 double c[M][N];
|
|
12 };
|
|
13
|
|
14 int __attribute__ ((noinline))
|
|
15 foo (struct st *s)
|
|
16 {
|
|
17 int i, j;
|
|
18 for (i = 0; i != M;)
|
|
19 {
|
|
20 s->a[i] = 0.0;
|
|
21 s->b[i] = 1.0;
|
|
22 for (j = 0; 1; ++j)
|
|
23 {
|
|
24 if (j == N) goto L2;
|
|
25 s->c[i][j] = 0.0;
|
|
26 }
|
|
27 L2:
|
|
28 ++i;
|
|
29 }
|
|
30 return 0;
|
|
31 }
|
|
32
|
|
33 struct st s;
|
|
34
|
|
35 int
|
|
36 main (void)
|
|
37 {
|
|
38 return foo (&s);
|
|
39 }
|
|
40
|
|
41 /* { dg-final { scan-tree-dump "distributed: split to " "ldist" } } */
|