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