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