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