pet_scop: keep track of schedule tree
[pet.git] / tests / encapsulate / independent5.scop
blobd66a868f41b6b7bddf7d8a1ab2a972c1cdbae891
1 start: 48
2 end: 184
3 indent: "\t"
4 context: '[n] -> {  : n <= 2147483647 and n >= -2147483648 }'
5 schedule: '{ domain: "[n] -> { S_7[i] : i >= 0 and i <= -1 + n; S_6[i] : i >= 0 and
6   i <= -1 + n; S_8[i] : i >= 0 and i <= -1 + n }", child: { schedule: "[n] -> L_0[{
7   S_7[i] -> [(i)]; S_8[i] -> [(i)]; S_6[i] -> [(i)] }]", child: { sequence: [ { filter:
8   "[n] -> { S_7[i] }" }, { filter: "[n] -> { S_6[i] }" }, { filter: "[n] -> { S_8[i]
9   }" } ] } } }'
10 arrays:
11 - context: '{  :  }'
12   extent: '[n] -> { j[] }'
13   element_type: int
14   element_size: 4
15   declared: 1
16 - context: '{  :  }'
17   extent: '[n] -> { A[i0] : i0 >= 0 }'
18   element_type: int
19   element_size: 4
20 - context: '{  :  }'
21   extent: '[n] -> { B[i0] : i0 >= 0 }'
22   element_type: int
23   element_size: 4
24 - context: '{  :  }'
25   extent: '[n] -> { C[i0] : i0 >= 0 }'
26   element_type: int
27   element_size: 4
28 statements:
29 - line: 6
30   domain: '[n] -> { S_7[i] : i >= 0 and i <= -1 + n }'
31   schedule: '[n] -> { S_7[i] -> [0, i, 0] }'
32   body:
33     type: expression
34     expr:
35       type: op
36       operation: kill
37       arguments:
38       - type: access
39         killed: '[n] -> { S_7[i] -> j[] }'
40         index: '[n] -> { S_7[i] -> j[] }'
41         reference: __pet_ref_0
42         kill: 1
43 - line: 6
44   domain: '[n] -> { S_6[i] : i >= 0 and i <= -1 + n }'
45   schedule: '[n] -> { S_6[i] -> [0, i, 1] }'
46   body:
47     type: for
48     declared: 1
49     variable:
50       type: access
51       index: '[n] -> { S_6[i] -> j[] }'
52       reference: __pet_ref_1
53       read: 0
54       write: 1
55     initialization:
56       type: access
57       index: '[n] -> { S_6[i] -> C[(i)] }'
58       reference: __pet_ref_2
59       read: 1
60       write: 0
61     condition:
62       type: op
63       operation: <
64       arguments:
65       - type: access
66         index: '[n] -> { S_6[i] -> j[] }'
67         reference: __pet_ref_3
68         read: 1
69         write: 0
70       - type: access
71         index: '[n] -> { S_6[i] -> [(n)] }'
72         reference: __pet_ref_4
73         read: 1
74         write: 0
75     increment:
76       type: int
77       value: 1
78     body:
79       type: expression
80       expr:
81         type: op
82         operation: +=
83         arguments:
84         - type: access
85           index: '[n] -> { [S_6[i] -> [i1]] -> B[((i1) : i1 >= 0)] }'
86           reference: __pet_ref_6
87           read: 1
88           write: 1
89           arguments:
90           - type: access
91             index: '[n] -> { S_6[i] -> A[(i)] }'
92             reference: __pet_ref_5
93             read: 1
94             write: 0
95         - type: access
96           index: '[n] -> { S_6[i] -> j[] }'
97           reference: __pet_ref_7
98           read: 1
99           write: 0
100 - line: 6
101   domain: '[n] -> { S_8[i] : i >= 0 and i <= -1 + n }'
102   schedule: '[n] -> { S_8[i] -> [0, i, 2] }'
103   body:
104     type: expression
105     expr:
106       type: op
107       operation: kill
108       arguments:
109       - type: access
110         killed: '[n] -> { S_8[i] -> j[] }'
111         index: '[n] -> { S_8[i] -> j[] }'
112         reference: __pet_ref_8
113         kill: 1
114 independences:
115 - filter: '[n] -> { S_6[i] -> S_7[i''] : i'' >= 1 + i; S_8[i] -> S_7[i''] : i'' >=
116     1 + i; S_7[i] -> S_8[i''] : i'' >= 1 + i; S_6[i] -> S_6[i''] : i'' >= 1 + i; S_6[i]
117     -> S_8[i''] : i'' >= 1 + i; S_8[i] -> S_8[i''] : i'' >= 1 + i; S_7[i] -> S_6[i'']
118     : i'' >= 1 + i; S_7[i] -> S_7[i''] : i'' >= 1 + i; S_8[i] -> S_6[i''] : i'' >=
119     1 + i }'
120   local: '{ j[] }'