pet_scop: keep track of schedule tree
[pet.git] / tests / arg.scop
blob2a9a4f3a3fc26b035836d0a696baf5f799c48dee
1 start: 72
2 end: 166
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_0[i] : i >= 0 and i <= 9; S_1[i] : i >= 0 and i <= 9 }",
6   child: { schedule: "L_0[{ S_1[i] -> [(i)]; S_0[i] -> [(i)] }]", child: { sequence:
7   [ { filter: "{ S_0[i] }" }, { filter: "{ S_1[i] }" } ] } } }'
8 arrays:
9 - context: '{  :  }'
10   extent: '{ a[] }'
11   element_type: int
12   element_size: 4
13 - context: '{  :  }'
14   extent: '{ b[i0] : i0 >= 0 and i0 <= 10 }'
15   element_type: int
16   element_size: 4
17 statements:
18 - line: 11
19   domain: '{ S_0[i] : i >= 0 and i <= 9 }'
20   schedule: '{ S_0[i] -> [0, i, 0] }'
21   body:
22     type: expression
23     expr:
24       type: call
25       name: f
26       arguments:
27       - type: op
28         operation: '&'
29         arguments:
30         - type: access
31           index: '{ S_0[i] -> a[] }'
32           reference: __pet_ref_0
33           read: 1
34           write: 0
35       - type: op
36         operation: '&'
37         arguments:
38         - type: access
39           index: '{ S_0[i] -> a[] }'
40           reference: __pet_ref_1
41           read: 0
42           write: 1
43 - line: 12
44   domain: '{ S_1[i] : i >= 0 and i <= 9 }'
45   schedule: '{ S_1[i] -> [0, i, 1] }'
46   body:
47     type: expression
48     expr:
49       type: call
50       name: f
51       arguments:
52       - type: op
53         operation: '&'
54         arguments:
55         - type: access
56           index: '{ S_1[i] -> b[(i)] }'
57           reference: __pet_ref_2
58           read: 1
59           write: 0
60       - type: op
61         operation: '&'
62         arguments:
63         - type: access
64           index: '{ S_1[i] -> b[(1 + i)] }'
65           reference: __pet_ref_3
66           read: 0
67           write: 1