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