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