pet_tree_dump: fix typo in output
[pet.git] / tests / QR.scop
blob12e48f95f2e7dbf374c76f46db54627f64849ec0
1 start: 285
2 end: 840
3 indent: '    '
4 context: '[K, N] -> {  : N <= 16 and N >= 8 and K >= 100 and K <= 1000 }'
5 context_value: '[K, N] -> {  : K = 256 }'
6 arrays:
7 - context: '[N] -> {  : N >= 0 }'
8   extent: '[N, K] -> { R[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 <= -1 + N and i1
9     >= 0 }'
10   element_type: int
11   element_size: 4
12 - context: '[N, K] -> {  : K >= 0 and N >= 0 }'
13   extent: '[N, K] -> { X[i0, i1] : i1 <= -1 + N and i1 >= 0 and i0 <= -1 + K and i0
14     >= 0 }'
15   element_type: int
16   element_size: 4
17 - context: '{  :  }'
18   extent: '[N, K] -> { t[] }'
19   element_type: int
20   element_size: 4
21 statements:
22 - line: 19
23   domain: '[N, K] -> { S_0[j, i] : i >= j and j >= 0 and i <= -1 + N }'
24   schedule: '[N] -> { S_0[j, i] -> [0, j, i] }'
25   body:
26     type: expression
27     expr:
28       type: op
29       operation: =
30       arguments:
31       - type: access
32         index: '[N, K] -> { S_0[j, i] -> R[(j), (i)] }'
33         reference: __pet_ref_0
34         read: 0
35         write: 1
36       - type: call
37         name: Zero
38 - line: 23
39   domain: '[N, K] -> { S_1[k, j] : j <= -1 + N and j >= 0 and k <= -1 + K and k >=
40     0 }'
41   schedule: '[K, N] -> { S_1[k, j] -> [1, k, j] }'
42   body:
43     type: expression
44     expr:
45       type: op
46       operation: =
47       arguments:
48       - type: access
49         index: '[N, K] -> { S_1[k, j] -> X[(k), (j)] }'
50         reference: __pet_ref_1
51         read: 0
52         write: 1
53       - type: call
54         name: ReadMatrix
55 - line: 27
56   domain: '[N, K] -> { S_2[k, j] : j <= -1 + N and j >= 0 and k <= -1 + K and k >=
57     0 }'
58   schedule: '[K, N] -> { S_2[k, j] -> [2, k, j, 0] }'
59   body:
60     type: expression
61     expr:
62       type: call
63       name: Vectorize
64       arguments:
65       - type: access
66         index: '[N, K] -> { S_2[k, j] -> R[(j), (j)] }'
67         reference: __pet_ref_2
68         read: 1
69         write: 0
70       - type: access
71         index: '[N, K] -> { S_2[k, j] -> X[(k), (j)] }'
72         reference: __pet_ref_3
73         read: 1
74         write: 0
75       - type: op
76         operation: '&'
77         arguments:
78         - type: access
79           index: '[N, K] -> { S_2[k, j] -> R[(j), (j)] }'
80           reference: __pet_ref_4
81           read: 0
82           write: 1
83       - type: op
84         operation: '&'
85         arguments:
86         - type: access
87           index: '[N, K] -> { S_2[k, j] -> X[(k), (j)] }'
88           reference: __pet_ref_5
89           read: 0
90           write: 1
91       - type: op
92         operation: '&'
93         arguments:
94         - type: access
95           index: '[N, K] -> { S_2[k, j] -> t[] }'
96           reference: __pet_ref_6
97           read: 0
98           write: 1
99 - line: 29
100   domain: '[N, K] -> { S_3[k, j, i] : i >= 1 + j and j >= 0 and k <= -1 + K and k
101     >= 0 and i <= -1 + N }'
102   schedule: '[K, N] -> { S_3[k, j, i] -> [2, k, j, 1, i] }'
103   body:
104     type: expression
105     expr:
106       type: call
107       name: Rotate
108       arguments:
109       - type: access
110         index: '[N, K] -> { S_3[k, j, i] -> R[(j), (i)] }'
111         reference: __pet_ref_7
112         read: 1
113         write: 0
114       - type: access
115         index: '[N, K] -> { S_3[k, j, i] -> X[(k), (i)] }'
116         reference: __pet_ref_8
117         read: 1
118         write: 0
119       - type: access
120         index: '[N, K] -> { S_3[k, j, i] -> t[] }'
121         reference: __pet_ref_9
122         read: 1
123         write: 0
124       - type: op
125         operation: '&'
126         arguments:
127         - type: access
128           index: '[N, K] -> { S_3[k, j, i] -> R[(j), (i)] }'
129           reference: __pet_ref_10
130           read: 0
131           write: 1
132       - type: op
133         operation: '&'
134         arguments:
135         - type: access
136           index: '[N, K] -> { S_3[k, j, i] -> X[(k), (i)] }'
137           reference: __pet_ref_11
138           read: 0
139           write: 1
140       - type: op
141         operation: '&'
142         arguments:
143         - type: access
144           index: '[N, K] -> { S_3[k, j, i] -> t[] }'
145           reference: __pet_ref_12
146           read: 0
147           write: 1
148 - line: 34
149   domain: '[N, K] -> { S_4[j, i] : i >= j and j >= 0 and i <= -1 + N }'
150   schedule: '[N] -> { S_4[j, i] -> [3, j, i] }'
151   body:
152     type: expression
153     expr:
154       type: call
155       name: WriteMatrix
156       arguments:
157       - type: access
158         index: '[N, K] -> { S_4[j, i] -> R[(j), (i)] }'
159         reference: __pet_ref_13
160         read: 1
161         write: 0