1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
3
4 void bar(char *s);
foo(unsigned short l)5 int foo(unsigned short l)
6 {
7 char c[10000] = {};
8 unsigned short nchar = 9999;
9
10 if (nchar <= l)
11 return -1;
12
13 while(nchar-- != l)
14 {
15 c[nchar] = 'A';
16 }
17
18 bar (c);
19 return 0;
20 }
21
22 /* { dg-final { scan-tree-dump "distributed: split to 0 loops and 1 library calls" "ldist" } } */
23 /* { dg-final { scan-tree-dump "generated memset" "ldist" } } */
24