/* { dg-do compile } */ /* { dg-options "-O3 -fdump-tree-pre" } */ int db[100]; int a_global_var, fact; int main() { int i,j=0; do { for (i=0; i<100; ++i) db[i] = i; fact = a_global_var * i; } while (j++ < 100); } /* We want to have exactly one load (not two) from a_global_var, and we want that load to be into a PRE temporary. */ /* { dg-final { scan-tree-dump-times "= a_global_var;" 1 "pre" } } */ /* { dg-final { scan-tree-dump "pretmp\[^\\n\]* = a_global_var;" "pre" } } */