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