pet_codegen.c: add missing include
[pet.git] / tests / while_affine.scop
blob7fa29dabfc8d91af1b3683103e6fd12bed406c7b
1 start: 42
2 end: 206
3 indent: "\t"
4 context: '[N] -> {  : 0 <= N <= 2147483647 }'
5 schedule: '{ domain: "[N] -> { S_2[i = 99, t, j] : t >= 0 and 0 <= j < N; S_4[i =
6   99, t] : t >= 0; S_9[]; S_11[]; S_3[i = 99, t, j] : t >= 0 and 0 <= j < N; S_10[];
7   S_1[i = 99, t] : t >= 0; S_5[i = 99, t, j] : t >= 0 and 0 <= j < N; S_0[]; S_7[i]
8   : 0 <= i <= 99; S_8[]; S_6[i = 99, t, j] : t >= 0 and 0 <= j < N }", child: { sequence:
9   [ { filter: "[N] -> { S_0[] }" }, { filter: "[N] -> { S_2[i, t, j]; S_4[i, t]; S_3[i,
10   t, j]; S_1[i, t]; S_5[i, t, j]; S_7[i]; S_6[i, t, j] }", child: { schedule: "[N]
11   -> L_0[{ S_2[i, t, j] -> [(i)]; S_4[i, t] -> [(i)]; S_3[i, t, j] -> [(i)]; S_1[i,
12   t] -> [(i)]; S_5[i, t, j] -> [(i)]; S_7[i] -> [(i)]; S_6[i, t, j] -> [(i)] }]",
13   child: { sequence: [ { filter: "[N] -> { S_2[i, t, j]; S_4[i, t]; S_3[i, t, j];
14   S_1[i, t]; S_5[i, t, j]; S_6[i, t, j] }", child: { schedule: "[N] -> L_1[{ S_2[i,
15   t, j] -> [(t)]; S_4[i, t] -> [(t)]; S_3[i, t, j] -> [(t)]; S_1[i, t] -> [(t)]; S_5[i,
16   t, j] -> [(t)]; S_6[i, t, j] -> [(t)] }]", child: { sequence: [ { filter: "[N] ->
17   { S_1[i, t] }" }, { filter: "[N] -> { S_2[i, t, j]; S_3[i, t, j] }", child: { schedule:
18   "[N] -> L_2[{ S_2[i, t, j] -> [(j)]; S_3[i, t, j] -> [(j)] }]", child: { sequence:
19   [ { filter: "[N] -> { S_2[i, t, j] }" }, { filter: "[N] -> { S_3[i, t, j] }" } ]
20   } } }, { filter: "[N] -> { S_4[i, t] }" }, { filter: "[N] -> { S_5[i, t, j]; S_6[i,
21   t, j] }", child: { schedule: "[N] -> L_3[{ S_5[i, t, j] -> [(j)]; S_6[i, t, j] ->
22   [(j)] }]", child: { sequence: [ { filter: "[N] -> { S_5[i, t, j] }" }, { filter:
23   "[N] -> { S_6[i, t, j] }" } ] } } } ] } } }, { filter: "[N] -> { S_7[i] }" } ] }
24   } }, { filter: "[N] -> { S_9[]; S_11[]; S_10[]; S_8[] }", child: { set: [ { filter:
25   "{ S_8[] }" }, { filter: "{ S_9[] }" }, { filter: "{ S_10[] }" }, { filter: "{ S_11[]
26   }" } ] } } ] } }'
27 arrays:
28 - context: '[N] -> {  : N >= 0 }'
29   extent: '[N] -> { a[i0] : 0 <= i0 < N }'
30   element_type: int
31   element_size: 4
32 - context: '[N] -> {  : N >= 0 }'
33   extent: '[N] -> { b[i0] : 0 <= i0 < N }'
34   element_type: int
35   element_size: 4
36 - context: '{  :  }'
37   extent: '[N] -> { i[] }'
38   element_type: int
39   element_size: 4
40 - context: '{  :  }'
41   extent: '[N] -> { j[] }'
42   element_type: int
43   element_size: 4
44 statements:
45 - line: 6
46   domain: '[N] -> { S_0[] }'
47   body:
48     type: expression
49     expr:
50       type: op
51       operation: =
52       arguments:
53       - type: access
54         index: '[N] -> { S_0[] -> i[] }'
55         reference: __pet_ref_0
56         read: 0
57         write: 1
58       - type: int
59         value: 0
60 - line: 8
61   domain: '[N] -> { S_1[i = 99, t] : t >= 0 }'
62   body:
63     type: expression
64     expr:
65       type: op
66       operation: =
67       arguments:
68       - type: access
69         index: '[N] -> { S_1[i, t] -> j[] }'
70         reference: __pet_ref_1
71         read: 0
72         write: 1
73       - type: int
74         value: 0
75 - line: 9
76   domain: '[N] -> { S_2[i = 99, t, j] : t >= 0 and 0 <= j < N }'
77   body:
78     type: expression
79     expr:
80       type: op
81       operation: =
82       arguments:
83       - type: access
84         index: '[N] -> { S_2[i, t, j] -> a[(j)] }'
85         reference: __pet_ref_2
86         read: 0
87         write: 1
88       - type: int
89         value: 0
90 - line: 8
91   domain: '[N] -> { S_3[i = 99, t, j] : t >= 0 and 0 <= j < N }'
92   body:
93     type: expression
94     expr:
95       type: op
96       operation: =
97       arguments:
98       - type: access
99         index: '[N] -> { S_3[i, t, j] -> j[] }'
100         reference: __pet_ref_3
101         read: 0
102         write: 1
103       - type: access
104         index: '[N] -> { S_3[i, t, j] -> [(1 + j)] }'
105         reference: __pet_ref_4
106         read: 1
107         write: 0
108 - line: 10
109   domain: '[N] -> { S_4[i = 99, t] : t >= 0 }'
110   body:
111     type: expression
112     expr:
113       type: op
114       operation: =
115       arguments:
116       - type: access
117         index: '[N] -> { S_4[i, t] -> j[] }'
118         reference: __pet_ref_5
119         read: 0
120         write: 1
121       - type: int
122         value: 0
123 - line: 11
124   domain: '[N] -> { S_5[i = 99, t, j] : t >= 0 and 0 <= j < N }'
125   body:
126     type: expression
127     expr:
128       type: op
129       operation: =
130       arguments:
131       - type: access
132         index: '[N] -> { S_5[i, t, j] -> b[(j)] }'
133         reference: __pet_ref_6
134         read: 0
135         write: 1
136       - type: access
137         index: '[N] -> { S_5[i, t, j] -> a[(j)] }'
138         reference: __pet_ref_7
139         read: 1
140         write: 0
141 - line: 10
142   domain: '[N] -> { S_6[i = 99, t, j] : t >= 0 and 0 <= j < N }'
143   body:
144     type: expression
145     expr:
146       type: op
147       operation: =
148       arguments:
149       - type: access
150         index: '[N] -> { S_6[i, t, j] -> j[] }'
151         reference: __pet_ref_8
152         read: 0
153         write: 1
154       - type: access
155         index: '[N] -> { S_6[i, t, j] -> [(1 + j)] }'
156         reference: __pet_ref_9
157         read: 1
158         write: 0
159 - line: 6
160   domain: '[N] -> { S_7[i] : 0 <= i <= 99 }'
161   body:
162     type: expression
163     expr:
164       type: op
165       operation: =
166       arguments:
167       - type: access
168         index: '[N] -> { S_7[i] -> i[] }'
169         reference: __pet_ref_10
170         read: 0
171         write: 1
172       - type: access
173         index: '[N] -> { S_7[i] -> [(1 + i)] }'
174         reference: __pet_ref_11
175         read: 1
176         write: 0
177 - line: -1
178   domain: '[N] -> { S_8[] }'
179   body:
180     type: expression
181     expr:
182       type: op
183       operation: kill
184       arguments:
185       - type: access
186         killed: '[N] -> { S_8[] -> i[] }'
187         index: '[N] -> { S_8[] -> i[] }'
188         reference: __pet_ref_12
189         kill: 1
190 - line: -1
191   domain: '[N] -> { S_9[] }'
192   body:
193     type: expression
194     expr:
195       type: op
196       operation: kill
197       arguments:
198       - type: access
199         killed: '[N] -> { S_9[] -> j[] }'
200         index: '[N] -> { S_9[] -> j[] }'
201         reference: __pet_ref_13
202         kill: 1
203 - line: -1
204   domain: '[N] -> { S_10[] }'
205   body:
206     type: expression
207     expr:
208       type: op
209       operation: kill
210       arguments:
211       - type: access
212         killed: '[N] -> { S_10[] -> a[o0] : 0 <= o0 < N }'
213         index: '[N] -> { S_10[] -> a[] }'
214         depth: 1
215         reference: __pet_ref_14
216         kill: 1
217 - line: -1
218   domain: '[N] -> { S_11[] }'
219   body:
220     type: expression
221     expr:
222       type: op
223       operation: kill
224       arguments:
225       - type: access
226         killed: '[N] -> { S_11[] -> b[o0] : 0 <= o0 < N }'
227         index: '[N] -> { S_11[] -> b[] }'
228         depth: 1
229         reference: __pet_ref_15
230         kill: 1