1 /* { dg-do compile }  */
2 /* { dg-options "-O2 -fdump-tree-lim2-details" } */
3 
4 struct Foo
5 {
6   int n;
7   int * __restrict__ p;
8 };
bar(struct Foo f,int * __restrict__ q)9 void bar(struct Foo f, int * __restrict__ q)
10 {
11   int i;
12   for (i = 0; i < f.n; ++i)
13     {
14       *q += f.p[i];
15     }
16 }
17 
18 /* { dg-final { scan-tree-dump "Executing store motion" "lim2" } } */
19