break up access relations into may_read/may_write/must_write
[pet.git] / tests / continue3.scop
blobbdf718eb7a9d91629d6edca0ddf24115df465285
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         index: '{ S_0[i] -> j[] }'
44         reference: __pet_ref_0
45         read: 0
46         write: 1
47       - type: call
48         name: f
49 - line: 10
50   domain: '{ S_1[i] : i >= 0 and i <= 99 }'
51   schedule: '{ S_1[i] -> [0, i, 1, 0] }'
52   body:
53     type: expression
54     expr:
55       type: op
56       operation: =
57       arguments:
58       - type: access
59         index: '{ S_1[i] -> __pet_test_0[(i)] }'
60         reference: __pet_ref_1
61         read: 0
62         write: 1
63       - type: op
64         operation: ==
65         arguments:
66         - type: access
67           index: '{ S_1[i] -> j[] }'
68           reference: __pet_ref_2
69           read: 1
70           write: 0
71         - type: int
72           value: 0
73 - line: 12
74   domain: '{ [S_2[i] -> [0]] : i >= 0 and i <= 99 }'
75   schedule: '{ S_2[i] -> [0, i, 2] }'
76   body:
77     type: expression
78     expr:
79       type: op
80       operation: =
81       arguments:
82       - type: access
83         index: '{ S_2[i] -> a[(i)] }'
84         reference: __pet_ref_4
85         read: 0
86         write: 1
87       - type: access
88         index: '{ S_2[i] -> [(i)] }'
89         reference: __pet_ref_5
90         read: 1
91         write: 0
92   arguments:
93   - type: access
94     index: '{ S_2[i] -> __pet_test_0[(i)] }'
95     reference: __pet_ref_3
96     read: 1
97     write: 0
98 - line: 13
99   domain: '{ [S_3[i] -> [0]] : i >= 0 and i <= 99 }'
100   schedule: '{ S_3[i] -> [0, i, 3] }'
101   body:
102     type: expression
103     expr:
104       type: op
105       operation: =
106       arguments:
107       - type: access
108         index: '{ S_3[i] -> j[] }'
109         reference: __pet_ref_7
110         read: 0
111         write: 1
112       - type: call
113         name: f
114   arguments:
115   - type: access
116     index: '{ S_3[i] -> __pet_test_0[(i)] }'
117     reference: __pet_ref_6
118     read: 1
119     write: 0
120 - line: 14
121   domain: '{ [S_4[i] -> [0]] : i >= 0 and i <= 99 }'
122   schedule: '{ S_4[i] -> [0, i, 4, 0, 0] }'
123   body:
124     type: expression
125     expr:
126       type: op
127       operation: =
128       arguments:
129       - type: access
130         index: '{ S_4[i] -> __pet_test_1[(i)] }'
131         reference: __pet_ref_9
132         read: 0
133         write: 1
134       - type: op
135         operation: ==
136         arguments:
137         - type: access
138           index: '{ S_4[i] -> j[] }'
139           reference: __pet_ref_10
140           read: 1
141           write: 0
142         - type: int
143           value: 0
144   arguments:
145   - type: access
146     index: '{ S_4[i] -> __pet_test_0[(i)] }'
147     reference: __pet_ref_8
148     read: 1
149     write: 0
150 - line: -1
151   domain: '{ S_5[i] : i >= 0 and i <= 99 }'
152   schedule: '{ S_5[i] -> [0, i, 4, 1] }'
153   body:
154     type: expression
155     expr:
156       type: op
157       operation: =
158       arguments:
159       - type: access
160         index: '{ S_5[i] -> __pet_test_2[(i)] }'
161         reference: __pet_ref_11
162         read: 0
163         write: 1
164       - type: op
165         operation: '?:'
166         arguments:
167         - type: access
168           index: '{ S_5[i] -> __pet_test_0[(i)] }'
169           reference: __pet_ref_12
170           read: 1
171           write: 0
172         - type: access
173           index: '{ S_5[i] -> [(1)] }'
174           reference: __pet_ref_13
175           read: 1
176           write: 0
177         - type: access
178           may_read: '{ [S_5[i] -> [0]] -> __pet_test_1[i] }'
179           index: '{ [S_5[i] -> [__pet_test_0]] -> __pet_test_1[(i)] }'
180           reference: __pet_ref_15
181           read: 1
182           write: 0
183           arguments:
184           - type: access
185             index: '{ S_5[i] -> __pet_test_0[(i)] }'
186             reference: __pet_ref_14
187             read: 1
188             write: 0
189 - line: 16
190   domain: '{ [S_6[i] -> [0]] : i >= 0 and i <= 99 }'
191   schedule: '{ S_6[i] -> [0, i, 5] }'
192   body:
193     type: expression
194     expr:
195       type: op
196       operation: =
197       arguments:
198       - type: access
199         index: '{ S_6[i] -> a[(i)] }'
200         reference: __pet_ref_17
201         read: 0
202         write: 1
203       - type: op
204         operation: +
205         arguments:
206         - type: access
207           index: '{ S_6[i] -> a[(i)] }'
208           reference: __pet_ref_18
209           read: 1
210           write: 0
211         - type: int
212           value: 1
213   arguments:
214   - type: access
215     index: '{ S_6[i] -> __pet_test_2[(i)] }'
216     reference: __pet_ref_16
217     read: 1
218     write: 0