encapsulate loop containing continue/break when encapsulating dynamic control
[pet.git] / tests / encapsulate / continue6.scop
blob6e11a8e1f444355b9f69d7346167aac37a8c169b
1 start: 41
2 end: 382
3 indent: "\t"
4 context: '{  :  }'
5 arrays:
6 - context: '{  :  }'
7   extent: '{ j[] }'
8   element_type: int
9   element_size: 4
10   declared: 1
11 - context: '{  :  }'
12   extent: '{ A[i0] : i0 >= 0 }'
13   element_type: int
14   element_size: 4
15 - context: '{  :  }'
16   extent: '{ x[] }'
17   element_type: int
18   element_size: 4
19 statements:
20 - line: 8
21   domain: '{ S_4[i] : i >= 0 and i <= 99 }'
22   schedule: '{ S_4[i] -> [0, i, 0, 0] }'
23   body:
24     type: expression
25     expr:
26       type: op
27       operation: kill
28       arguments:
29       - type: access
30         killed: '{ S_4[i] -> j[] }'
31         index: '{ S_4[i] -> j[] }'
32         reference: __pet_ref_0
33         kill: 1
34 - line: 8
35   domain: '{ S_3[i] : i >= 0 and i <= 99 }'
36   schedule: '{ S_3[i] -> [0, i, 0, 1] }'
37   body:
38     type: for
39     declared: 1
40     variable:
41       type: access
42       index: '{ S_3[i] -> j[] }'
43       reference: __pet_ref_1
44       read: 0
45       write: 1
46     initialization:
47       type: int
48       value: 0
49     condition:
50       type: op
51       operation: <
52       arguments:
53       - type: access
54         index: '{ S_3[i] -> j[] }'
55         reference: __pet_ref_2
56         read: 1
57         write: 0
58       - type: int
59         value: 100
60     increment:
61       type: int
62       value: 1
63     body:
64       type: block
65       block: 1
66       children:
67       - type: if
68         condition:
69           type: access
70           index: '{ [S_3[i] -> [i1]] -> A[((i1) : i1 >= 0)] }'
71           reference: __pet_ref_4
72           read: 1
73           write: 0
74           arguments:
75           - type: access
76             index: '{ S_3[i] -> j[] }'
77             reference: __pet_ref_3
78             read: 1
79             write: 0
80         then:
81           type: block
82           block: 1
83           children:
84           - type: expression
85             expr:
86               type: op
87               operation: +=
88               arguments:
89               - type: access
90                 index: '{ S_3[i] -> x[] }'
91                 reference: __pet_ref_5
92                 read: 1
93                 write: 1
94               - type: int
95                 value: 0
96           - type: continue
97       - type: expression
98         expr:
99           type: op
100           operation: =
101           arguments:
102           - type: access
103             index: '{ S_3[i] -> x[] }'
104             reference: __pet_ref_6
105             read: 0
106             write: 1
107           - type: int
108             value: 1
109 - line: 8
110   domain: '{ S_5[i] : i >= 0 and i <= 99 }'
111   schedule: '{ S_5[i] -> [0, i, 0, 2] }'
112   body:
113     type: expression
114     expr:
115       type: op
116       operation: kill
117       arguments:
118       - type: access
119         killed: '{ S_5[i] -> j[] }'
120         index: '{ S_5[i] -> j[] }'
121         reference: __pet_ref_7
122         kill: 1
123 - line: 17
124   domain: '{ S_6[i, j] : exists (e0 = floor((j)/2): 2e0 = j and i <= 99 and i >= 0
125     and j <= 99 and j >= 0) }'
126   schedule: '{ S_6[i, j] -> [0, i, 1, j, 0, 0] }'
127   body:
128     type: expression
129     expr:
130       type: op
131       operation: +=
132       arguments:
133       - type: access
134         index: '{ S_6[i, j] -> x[] }'
135         reference: __pet_ref_8
136         read: 1
137         write: 1
138       - type: int
139         value: 0
140 - line: 20
141   domain: '{ S_7[i, j] : exists (e0 = floor((-1 + j)/2): 2e0 = -1 + j and i <= 99
142     and i >= 0 and j <= 99 and j >= 0) }'
143   schedule: '{ S_7[i, j] -> [0, i, 1, j, 1] }'
144   body:
145     type: expression
146     expr:
147       type: op
148       operation: =
149       arguments:
150       - type: access
151         index: '{ S_7[i, j] -> x[] }'
152         reference: __pet_ref_9
153         read: 0
154         write: 1
155       - type: int
156         value: 1
157 - line: 23
158   domain: '{ S_10[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
159   schedule: '{ S_10[i, j] -> [0, i, 2, j, 0] }'
160   body:
161     type: if-else
162     condition:
163       type: access
164       index: '{ S_10[i, j] -> A[(j)] }'
165       reference: __pet_ref_10
166       read: 1
167       write: 0
168     then:
169       type: expression
170       expr:
171         type: op
172         operation: +=
173         arguments:
174         - type: access
175           index: '{ S_10[i, j] -> x[] }'
176           reference: __pet_ref_11
177           read: 1
178           write: 1
179         - type: int
180           value: 0
181     else:
182       type: expression
183       expr:
184         type: op
185         operation: =
186         arguments:
187         - type: access
188           index: '{ S_10[i, j] -> x[] }'
189           reference: __pet_ref_12
190           read: 0
191           write: 1
192         - type: int
193           value: 1