pet_scop: keep track of schedule tree
[pet.git] / tests / piecewise.scop
blob6e1b50ee0f7f0f21b08ef39f6bd1e56949ee2750
1 start: 56
2 end: 174
3 indent: "\t"
4 context: '[N] -> {  : N <= 2147483647 and N >= 0 }'
5 schedule: '{ domain: "[N] -> { S_0[i, j] : i >= 0 and j >= i and j <= -1 + N }", child:
6   { schedule: "[N] -> L_0[{ S_0[i, j] -> [(i)] }]", child: { schedule: "[N] -> L_1[{
7   S_0[i, j] -> [(j)] }]" } } }'
8 arrays:
9 - context: '[N] -> {  : N >= 0 }'
10   extent: '[N] -> { a[i0, i1] : i1 >= 0 and i1 <= -1 + N and i0 >= 0 }'
11   element_type: int
12   element_size: 4
13 statements:
14 - line: 8
15   domain: '[N] -> { S_0[i, j] : j >= i and j <= -1 + N and i >= 0 }'
16   schedule: '[N] -> { S_0[i, j] -> [0, i, j] }'
17   body:
18     type: expression
19     expr:
20       type: op
21       operation: =
22       arguments:
23       - type: access
24         index: '[N] -> { S_0[i, j] -> a[(i), (j)] }'
25         reference: __pet_ref_0
26         read: 0
27         write: 1
28       - type: access
29         index: '[N] -> { S_0[i, j] -> a[((-1 + i) : i >= 1; (0) : i = 0), (0)] }'
30         reference: __pet_ref_1
31         read: 1
32         write: 0