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