/* { 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" } } */ |