OSDN Git Service

2009-08-14 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / graphite / pr35356-2.c
1 /* { dg-options "-O2 -fgraphite-identity -fdump-tree-graphite-all" } */
2
3 int a[100];
4
5 int
6 foo (int bar, int n, int k)
7 {
8   int i;
9
10   for (i = 0; i < n; i++)
11     if (i == k)
12       a[i] = 1;
13     else 
14       a[i] = i;
15
16   return a[bar];
17 }
18
19 /* We should generate the following:
20
21    | for (i = 0; i < min (n, k); i++)
22    |   a[i] = i;
23    | if (k >= 0 && k < n)
24    |   a[k] = 1;
25    | for (i = max(k+1,0); i < n; i++)
26    |   a[i] = i;
27
28 */
29
30 /* { dg-final { scan-tree-dump-times "MIN_EXPR" 1 "graphite" } } */
31 /* { dg-final { scan-tree-dump-times "MAX_EXPR" 1 "graphite" } } */
32 /* { dg-final { cleanup-tree-dump "graphite" } } */