/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-lim2-details" } */ | |
int *l, *r; | |
int test_func(void) | |
{ | |
int i; | |
int direction; | |
static int pos; | |
pos = 0; | |
direction = 1; | |
for ( i = 0; i <= 400; i++ ) | |
{ | |
if ( direction == 0 ) | |
pos = l[pos]; | |
else | |
pos = r[pos]; | |
if ( pos == -1 ) | |
{ | |
pos = 0; | |
direction = !direction; | |
} | |
} | |
return i; | |
} | |
/* { dg-final { scan-tree-dump "Executing store motion of pos" "lim2" } } */ |