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