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