/* { dg-do compile } */ | |
/* { dg-options "-O3 -fdump-tree-ivcanon-details" } */ | |
int a[1]; | |
void test2 (void); | |
void | |
test(int c) | |
{ | |
int i=0,j; | |
for (i=0;i<c;i++) | |
{ | |
for (j=0;j<c;j++) | |
{ | |
a[i]=5; | |
test2(); | |
} | |
} | |
} | |
/* We should do this as part of cunrolli, but our cost model do not take into account early exit | |
from the last iteration. */ | |
/* { dg-final { scan-tree-dump "loop turned into non-loop; it never loops." "ivcanon"} } */ | |
/* { dg-final { scan-tree-dump "Last iteration exit edge was proved true." "ivcanon"} } */ |