blob: 92c627d324cf16e16c55644ff09fda69290fc8fc [file] [log] [blame]
/* APPLE LOCAL file lno */
/* { dg-do compile } */
/* { dg-options "-O1 -floop-test -fdump-tree-lptest-details" } */
int bar (void);
int foo ()
{
int a = -100;
/* This exercises a code with two loop nests. */
/* loop_1 runs 100 times. */
while (a < 0)
a++;
a -= 77;
/* loop_2 runs 26 times. */
while (a < 0)
a+=3;
}
/* The analyzer sees two loop nests:
for the first, it determines the evolution:
a -> {-100, +, 1}_1
and for the second, it determines that the first loop ends at 0 and then:
a -> {-77, +, 3}_2
When the constant propagation is postponed, the analyzer detects
for the second loop the evolution function:
a -> {a_5, +, 3}_2
*/
/* { dg-final { scan-tree-dump-times "set_nb_iterations_in_loop = 100" 1 "lptest"} } */
/* { dg-final { scan-tree-dump-times "set_nb_iterations_in_loop = 26" 1 "lptest"} } */