blob: 07339c8f6417dad5025943e917ec906750997435 [file] [log] [blame]
/* { dg-options "-O2 -fgraphite-identity -fdump-tree-graphite-all" } */
int a[100];
int
foo (int bar, int n, int k)
{
int i;
for (i = 0; i < n; i++)
if (i == k)
a[i] = bar;
for (i = 0; i < n; i++)
if (i == k)
a[i] = bar;
return a[bar];
}
/* There should be no loops generated for this testcase, instead we
should generate the following:
| if (k >= 0 && k < n)
| a[k] = bar;
Check that this text is produced:
AST generated by isl:
if (n >= k + 1 && k >= 0) {
S_6(k);
S_11(k);
}
*/
/* { dg-final { scan-tree-dump "if \\\(P_\[0-9\]+ >= P_\[0-9\]+ \\\+ 1 && P_\[0-9\]+ >= 0\\\) \\\{" "graphite" } } */