blob: dc9bc3111ef8138bb9894eef0f70882f0c7fc215 [file] [log] [blame]
/* A test for final value replacement and higher-order ivs,
see PR 22442. */
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-optimized" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */
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" } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */