/* { dg-do compile } */
/* { dg-options "-O3 -fdump-tree-pre -fno-tree-loop-im" } */
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" } } */
