pet_codegen.c: add missing include
[pet.git] / tests / piecewise.scop
blob1e2445b92689fe4af94c260238ff91bfa1da72fa
1 start: 56
2 end: 174
3 indent: "\t"
4 context: '[N] -> {  : 0 <= N <= 2147483647 }'
5 schedule: '{ domain: "[N] -> { S_5[]; S_3[i, j] : i >= 0 and i <= j < N; S_2[i, j]
6   : i >= 0 and i <= j < N; S_6[]; S_4[i] : 0 <= i < N; S_0[]; S_1[i] : 0 <= i < N
7   }", child: { sequence: [ { filter: "[N] -> { S_0[] }" }, { filter: "[N] -> { S_2[i,
8   j]; S_3[i, j]; S_4[i]; S_1[i] }", child: { schedule: "[N] -> L_0[{ S_2[i, j] ->
9   [(i)]; S_3[i, j] -> [(i)]; S_4[i] -> [(i)]; S_1[i] -> [(i)] }]", child: { sequence:
10   [ { filter: "[N] -> { S_1[i] }" }, { filter: "[N] -> { S_3[i, j]; S_2[i, j] }",
11   child: { schedule: "[N] -> L_1[{ S_3[i, j] -> [(j)]; S_2[i, j] -> [(j)] }]", child:
12   { sequence: [ { filter: "[N] -> { S_2[i, j] }" }, { filter: "[N] -> { S_3[i, j]
13   }" } ] } } }, { filter: "[N] -> { S_4[i] }" } ] } } }, { filter: "[N] -> { S_5[];
14   S_6[] }", child: { set: [ { filter: "{ S_5[] }" }, { filter: "{ S_6[] }" } ] } }
15   ] } }'
16 arrays:
17 - context: '[N] -> {  : N >= 0 }'
18   extent: '[N] -> { a[i0, i1] : i0 >= 0 and 0 <= i1 < N }'
19   element_type: int
20   element_size: 4
21 - context: '{  :  }'
22   extent: '[N] -> { i[] }'
23   element_type: int
24   element_size: 4
25 - context: '{  :  }'
26   extent: '[N] -> { j[] }'
27   element_type: int
28   element_size: 4
29 statements:
30 - line: 6
31   domain: '[N] -> { S_0[] }'
32   body:
33     type: expression
34     expr:
35       type: op
36       operation: =
37       arguments:
38       - type: access
39         index: '[N] -> { S_0[] -> i[] }'
40         reference: __pet_ref_0
41         read: 0
42         write: 1
43       - type: int
44         value: 0
45 - line: 7
46   domain: '[N] -> { S_1[i] : 0 <= i < N }'
47   body:
48     type: expression
49     expr:
50       type: op
51       operation: =
52       arguments:
53       - type: access
54         index: '[N] -> { S_1[i] -> j[] }'
55         reference: __pet_ref_1
56         read: 0
57         write: 1
58       - type: access
59         index: '[N] -> { S_1[i] -> [(i)] }'
60         reference: __pet_ref_2
61         read: 1
62         write: 0
63 - line: 8
64   domain: '[N] -> { S_2[i, j] : i >= 0 and i <= j < N }'
65   body:
66     type: expression
67     expr:
68       type: op
69       operation: =
70       arguments:
71       - type: access
72         index: '[N] -> { S_2[i, j] -> a[(i), (j)] }'
73         reference: __pet_ref_3
74         read: 0
75         write: 1
76       - type: access
77         index: '[N] -> { S_2[i, j] -> a[((-1 + i) : i > 0; (0) : i = 0), (0)] }'
78         reference: __pet_ref_4
79         read: 1
80         write: 0
81 - line: 7
82   domain: '[N] -> { S_3[i, j] : i >= 0 and i <= j < N }'
83   body:
84     type: expression
85     expr:
86       type: op
87       operation: =
88       arguments:
89       - type: access
90         index: '[N] -> { S_3[i, j] -> j[] }'
91         reference: __pet_ref_5
92         read: 0
93         write: 1
94       - type: access
95         index: '[N] -> { S_3[i, j] -> [(1 + j)] }'
96         reference: __pet_ref_6
97         read: 1
98         write: 0
99 - line: 6
100   domain: '[N] -> { S_4[i] : 0 <= i < N }'
101   body:
102     type: expression
103     expr:
104       type: op
105       operation: =
106       arguments:
107       - type: access
108         index: '[N] -> { S_4[i] -> i[] }'
109         reference: __pet_ref_7
110         read: 0
111         write: 1
112       - type: access
113         index: '[N] -> { S_4[i] -> [(1 + i)] }'
114         reference: __pet_ref_8
115         read: 1
116         write: 0
117 - line: -1
118   domain: '[N] -> { S_5[] }'
119   body:
120     type: expression
121     expr:
122       type: op
123       operation: kill
124       arguments:
125       - type: access
126         killed: '[N] -> { S_5[] -> i[] }'
127         index: '[N] -> { S_5[] -> i[] }'
128         reference: __pet_ref_9
129         kill: 1
130 - line: -1
131   domain: '[N] -> { S_6[] }'
132   body:
133     type: expression
134     expr:
135       type: op
136       operation: kill
137       arguments:
138       - type: access
139         killed: '[N] -> { S_6[] -> j[] }'
140         index: '[N] -> { S_6[] -> j[] }'
141         reference: __pet_ref_10
142         kill: 1