blob: 65f0c562cd45c839cba68c2174e2e18bca6d4728 [file] [log] [blame]
/* { dg-options "-O3 -fdump-rtl-loop2_unroll -fno-unroll-loops -fpeel-loops" } */
void abort();
int a[1000];
int
__attribute__ ((noinline))
t()
{
int i;
for (i=0;i<1000;i++)
if (!a[i])
return 1;
abort ();
}
main()
{
int i;
for (i=0;i<1000;i++)
t();
return 0;
}
/* { dg-final-use { scan-rtl-dump "Considering simply peeling loop" "loop2_unroll" } } */
/* In fact one peeling is enough; we however mispredict number of iterations of the loop
at least until loop_ch is schedule ahead of profiling pass. */
/* { dg-final-use { cleanup-rtl-dump "loop2_unroll" } } */