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