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