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