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