1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fdump-tree-pre -fno-tree-loop-im" } */
3 int db[100];
4 int a_global_var, fact;
main()5 int main()
6 {
7   int i,j=0;
8   do
9     {
10       for (i=0; i<100; ++i)
11         db[i] = i;
12       fact = a_global_var * i;
13     }
14   while (j++ < 100);
15 }
16 /* We want to have exactly one load (not two) from a_global_var,
17    and we want that load to be into a PRE temporary.  */
18 /* { dg-final { scan-tree-dump-times "= a_global_var;" 1 "pre" } } */
19 /* { dg-final { scan-tree-dump "pretmp\[^\\n\]* = a_global_var;" "pre" } } */
20