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