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