pet_scop: keep track of schedule tree
[pet.git] / tests / inf4.scop
blobf8832aab6d5c9f3b601269e2585a44c0c188b17f
1 start: 74
2 end: 216
3 indent: '    '
4 context: '[N] -> {  : N >= 8 and N <= 16 }'
5 schedule: '{ domain: "[N] -> { S_1[i, j] : i >= 0 and j >= 0 and j <= -1 + N; S_0[i,
6   j] : i >= 0 and j >= 0 and j <= -1 + N }", child: { schedule: "[N] -> L_0[{ S_0[i,
7   j] -> [(i)]; S_1[i, j] -> [(i)] }]", child: { sequence: [ { filter: "[N] -> { S_0[i,
8   j] }", child: { schedule: "[N] -> L_1[{ S_0[i, j] -> [(j)] }]" } }, { filter: "[N]
9   -> { S_1[i, j] }", child: { schedule: "[N] -> L_2[{ S_1[i, j] -> [(j)] }]" } } ]
10   } } }'
11 arrays:
12 - context: '[N] -> {  : N >= 0 }'
13   extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }'
14   element_type: int
15   element_size: 4
16 - context: '[N] -> {  : N >= 0 }'
17   extent: '[N] -> { b[i0] : i0 >= 0 and i0 <= -1 + N }'
18   element_type: int
19   element_size: 4
20 statements:
21 - line: 12
22   domain: '[N] -> { S_0[i, j] : j >= 0 and j <= -1 + N and i >= 0 }'
23   schedule: '[N] -> { S_0[i, j] -> [0, i, 0, j] }'
24   body:
25     type: expression
26     expr:
27       type: op
28       operation: =
29       arguments:
30       - type: access
31         index: '[N] -> { S_0[i, j] -> a[(j)] }'
32         reference: __pet_ref_0
33         read: 0
34         write: 1
35       - type: int
36         value: 0
37 - line: 14
38   domain: '[N] -> { S_1[i, j] : j >= 0 and j <= -1 + N and i >= 0 }'
39   schedule: '[N] -> { S_1[i, j] -> [0, i, 1, j] }'
40   body:
41     type: expression
42     expr:
43       type: op
44       operation: =
45       arguments:
46       - type: access
47         index: '[N] -> { S_1[i, j] -> b[(j)] }'
48         reference: __pet_ref_1
49         read: 0
50         write: 1
51       - type: access
52         index: '[N] -> { S_1[i, j] -> a[(j)] }'
53         reference: __pet_ref_2
54         read: 1
55         write: 0