pet_scop: keep track of schedule tree
[pet.git] / tests / decl5.scop
blob6d3f2a75a8d746cbf37afdcde1f9d53edecc1272
1 start: 16
2 end: 110
3 indent: "\t"
4 context: '[n] -> {  : n <= 2147483647 and n >= -2147483648 }'
5 schedule: '{ domain: "[n] -> { S_0[]; S_2[i] : i >= 0 and i <= -1 + n; S_1[i] : i
6   >= 0 and i <= -1 + n }", child: { sequence: [ { filter: "[n] -> { S_0[] }" }, {
7   filter: "[n] -> { S_2[i]; S_1[i] }", child: { schedule: "[n] -> L_0[{ S_2[i] ->
8   [(i)]; S_1[i] -> [(i)] }]", child: { sequence: [ { filter: "[n] -> { S_1[i] }" },
9   { filter: "[n] -> { S_2[i] }" } ] } } } ] } }'
10 arrays:
11 - context: '[n] -> {  : n >= 0 }'
12   extent: '[n] -> { a[i0] : i0 >= 0 and i0 <= -1 + n }'
13   element_type: float
14   element_size: 4
15   declared: 1
16   exposed: 1
17 - context: '[n] -> {  : n >= 0 }'
18   extent: '[n] -> { b[i0, i1] : i1 >= 0 and i1 <= -1 + n and i0 >= 0 and i0 <= -1
19     + n }'
20   element_type: float
21   element_size: 4
22   declared: 1
23 statements:
24 - line: 4
25   domain: '[n] -> { S_0[] }'
26   schedule: '{ S_0[] -> [0] }'
27   body:
28     type: expression
29     expr:
30       type: op
31       operation: kill
32       arguments:
33       - type: access
34         killed: '[n] -> { S_0[] -> a[o0] : o0 >= 0 and o0 <= -1 + n }'
35         index: '[n] -> { S_0[] -> a[] }'
36         depth: 1
37         reference: __pet_ref_0
38         kill: 1
39 - line: 7
40   domain: '[n] -> { S_1[i] : i >= 0 and i <= -1 + n }'
41   schedule: '[n] -> { S_1[i] -> [1, i, 0] }'
42   body:
43     type: expression
44     expr:
45       type: op
46       operation: kill
47       arguments:
48       - type: access
49         killed: '[n] -> { S_1[i] -> b[o0, o1] : o0 <= -1 + n and o1 >= 0 and o1 <=
50           -1 + n and o0 >= 0 }'
51         index: '[n] -> { S_1[i] -> b[] }'
52         depth: 2
53         reference: __pet_ref_1
54         kill: 1
55 - line: 7
56   domain: '[n] -> { S_2[i] : i >= 0 and i <= -1 + n }'
57   schedule: '[n] -> { S_2[i] -> [1, i, 1] }'
58   body:
59     type: expression
60     expr:
61       type: op
62       operation: kill
63       arguments:
64       - type: access
65         killed: '[n] -> { S_2[i] -> b[o0, o1] : o0 <= -1 + n and o1 >= 0 and o1 <=
66           -1 + n and o0 >= 0 }'
67         index: '[n] -> { S_2[i] -> b[] }'
68         depth: 2
69         reference: __pet_ref_2
70         kill: 1