try and include initial declarations in outer block when autodetecting
[pet.git] / tests / assume.scop
blob607ed3ee35c460872727c801420c25be399fb889
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   body:
18     type: expression
19     expr:
20       type: op
21       operation: assume
22       arguments:
23       - type: access
24         index: '[S, n, m] -> { S_0[] -> [(1)] }'
25         reference: __pet_ref_0
26         read: 1
27         write: 0
28 - line: 6
29   domain: '[S, n, m] -> { S_1[i] : i >= 0 and i <= -1 + n }'
30   body:
31     type: expression
32     expr:
33       type: op
34       operation: =
35       arguments:
36       - type: access
37         index: '[S, n, m] -> { S_1[i] -> D[(i)] }'
38         reference: __pet_ref_1
39         read: 0
40         write: 1
41       - type: access
42         index: '[S, n, m] -> { S_1[i] -> D[(m + i)] }'
43         reference: __pet_ref_2
44         read: 1
45         write: 0