PetScan::extract: always treat compound statement as a block
[pet.git] / tests / call3.scop
blob77aea83511c7c21152917468df4f6d380dd3be46
1 start: 120
2 end: 225
3 indent: "\t"
4 context: '[n] -> {  : exists (e0 = floor((n)/4): 4e0 = n and n >= 0 and n <= 2147483647)
5   }'
6 schedule: '{ domain: "[n] -> { S_0[]; S_1[i] : exists (e0 = floor((i)/4): 4e0 = i
7   and i >= 0 and i <= -1 + n) }", child: { sequence: [ { filter: "[n] -> { S_0[] }"
8   }, { filter: "[n] -> { S_1[i] }", child: { schedule: "[n] -> L_0[{ S_1[i] -> [(i)]
9   }]" } } ] } }'
10 arrays:
11 - context: '[n] -> {  : n >= 0 }'
12   extent: '[n] -> { A[i0] : i0 >= 0 and i0 <= -1 + n }'
13   element_type: int
14   element_size: 4
15 statements:
16 - line: 10
17   domain: '[n] -> { S_0[] }'
18   body:
19     type: expression
20     expr:
21       type: op
22       operation: assume
23       arguments:
24       - type: access
25         index: '[n] -> { S_0[] -> [(1)] }'
26         reference: __pet_ref_0
27         read: 1
28         write: 0
29 - line: 12
30   domain: '[n] -> { S_1[i] : exists (e0 = floor((i)/4): 4e0 = i and i >= 0 and i <=
31     -4 + n) }'
32   body:
33     type: expression
34     expr:
35       type: call
36       name: foo
37       arguments:
38       - type: op
39         operation: '&'
40         arguments:
41         - type: access
42           may_read: '[n] -> { S_1[i] -> A[o0] : o0 >= i and o0 <= 3 + i }'
43           may_write: '[n] -> { S_1[i] -> A[o0] : o0 >= i and o0 <= 3 + i }'
44           must_write: '[n] -> { S_1[i] -> A[o0] : o0 >= i and o0 <= 3 + i }'
45           index: '[n] -> { S_1[i] -> A[(i)] }'
46           reference: __pet_ref_1
47           read: 1
48           write: 1