pet_scop: keep track of schedule tree
[pet.git] / tests / assume.scop
blobe4abd0cb33ea16553ebf1a7d19563f31047cbeec
1 start: 64
2 end: 206
3 indent: '        '
4 context: '[S, n, m] -> {  : m >= 1 + n and m <= 2147483648 - n and S <= 2147483647
5   and n >= -2147483648 and m <= 2147483647 and S >= 0 }'
6 schedule: '{ domain: "[n] -> { S_0[]; S_1[i] : i >= 0 and i <= -1 + n }", child: {
7   sequence: [ { filter: "[n] -> { S_0[] }" }, { filter: "[n] -> { S_1[i] }", child:
8   { schedule: "[n] -> L_0[{ S_1[i] -> [(i)] }]" } } ] } }'
9 arrays:
10 - context: '[S] -> {  : S >= 0 }'
11   extent: '[S, n, m] -> { D[i0] : i0 >= 0 and i0 <= -1 + S }'
12   element_type: int
13   element_size: 4
14 statements:
15 - line: 4
16   domain: '[S, n, m] -> { S_0[] }'
17   schedule: '{ S_0[] -> [0] }'
18   body:
19     type: expression
20     expr:
21       type: op
22       operation: assume
23       arguments:
24       - type: access
25         index: '[S, n, m] -> { S_0[] -> [(1)] }'
26         reference: __pet_ref_0
27         read: 1
28         write: 0
29 - line: 6
30   domain: '[S, n, m] -> { S_1[i] : i >= 0 and i <= -1 + n }'
31   schedule: '[n] -> { S_1[i] -> [1, i, 0] }'
32   body:
33     type: expression
34     expr:
35       type: op
36       operation: =
37       arguments:
38       - type: access
39         index: '[S, n, m] -> { S_1[i] -> D[(i)] }'
40         reference: __pet_ref_1
41         read: 0
42         write: 1
43       - type: access
44         index: '[S, n, m] -> { S_1[i] -> D[(m + i)] }'
45         reference: __pet_ref_2
46         read: 1
47         write: 0