/* A test for final value replacement and higher-order ivs, | |
see PR 22442. */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O1 -fdump-tree-optimized" } */ | |
void bar (unsigned); | |
void foo (void) | |
{ | |
unsigned i, a; | |
for (i = 0; i < 5; i++) | |
a = i * i; | |
bar (a); | |
} | |
/* Final value of a gets replaced. */ | |
/* { dg-final { scan-tree-dump-times "\\(16\\)" 1 "optimized" } } */ | |
/* And the empty loop is removed. */ | |
/* { dg-final { scan-tree-dump-times "if " 0 "optimized" } } */ | |