add pet_expr_map_top_down
[pet.git] / tests / inf.scop
blobbab6a588fd98f1f6cce860973c57ea6ee07645c1
1 start: 74
2 end: 207
3 indent: '    '
4 context: '[N] -> {  : 8 <= N <= 16 }'
5 schedule: '{ domain: "[N] -> { S_4[]; S_1[t, j] : t >= 0 and 0 <= j < N; S_0[t, j]
6   : t >= 0 and 0 <= j < N; S_3[]; S_2[] }", child: { sequence: [ { filter: "[N] ->
7   { S_1[t, j]; S_0[t, j] }", child: { schedule: "[N] -> L_0[{ S_1[t, j] -> [(t)];
8   S_0[t, j] -> [(t)] }]", child: { sequence: [ { filter: "[N] -> { S_0[t, j] }", child:
9   { schedule: "[N] -> L_1[{ S_0[t, j] -> [(j)] }]" } }, { filter: "[N] -> { S_1[t,
10   j] }", child: { schedule: "[N] -> L_2[{ S_1[t, j] -> [(j)] }]" } } ] } } }, { filter:
11   "[N] -> { S_4[]; S_3[]; S_2[] }", child: { set: [ { filter: "{ S_2[] }" }, { filter:
12   "{ S_3[] }" }, { filter: "{ S_4[] }" } ] } } ] } }'
13 arrays:
14 - context: '[N] -> {  : N >= 0 }'
15   extent: '[N] -> { a[i0] : 0 <= i0 < N }'
16   element_type: int
17   element_size: 4
18 - context: '[N] -> {  : N >= 0 }'
19   extent: '[N] -> { b[i0] : 0 <= i0 < N }'
20   element_type: int
21   element_size: 4
22 - context: '{  :  }'
23   extent: '[N] -> { j[] }'
24   element_type: int
25   element_size: 4
26 statements:
27 - line: 12
28   domain: '[N] -> { S_0[t, j] : t >= 0 and 0 <= j < N }'
29   body:
30     type: expression
31     expr:
32       type: op
33       operation: =
34       arguments:
35       - type: access
36         index: '[N] -> { S_0[t, j] -> a[(j)] }'
37         reference: __pet_ref_0
38         read: 0
39         write: 1
40       - type: int
41         value: 0
42 - line: 14
43   domain: '[N] -> { S_1[t, j] : t >= 0 and 0 <= j < N }'
44   body:
45     type: expression
46     expr:
47       type: op
48       operation: =
49       arguments:
50       - type: access
51         index: '[N] -> { S_1[t, j] -> b[(j)] }'
52         reference: __pet_ref_1
53         read: 0
54         write: 1
55       - type: access
56         index: '[N] -> { S_1[t, j] -> a[(j)] }'
57         reference: __pet_ref_2
58         read: 1
59         write: 0
60 - line: -1
61   domain: '[N] -> { S_2[] }'
62   body:
63     type: expression
64     expr:
65       type: op
66       operation: kill
67       arguments:
68       - type: access
69         killed: '[N] -> { S_2[] -> j[] }'
70         index: '[N] -> { S_2[] -> j[] }'
71         reference: __pet_ref_3
72         kill: 1
73 - line: -1
74   domain: '[N] -> { S_3[] }'
75   body:
76     type: expression
77     expr:
78       type: op
79       operation: kill
80       arguments:
81       - type: access
82         killed: '[N] -> { S_3[] -> a[o0] : 0 <= o0 < N }'
83         index: '[N] -> { S_3[] -> a[] }'
84         depth: 1
85         reference: __pet_ref_4
86         kill: 1
87 - line: -1
88   domain: '[N] -> { S_4[] }'
89   body:
90     type: expression
91     expr:
92       type: op
93       operation: kill
94       arguments:
95       - type: access
96         killed: '[N] -> { S_4[] -> b[o0] : 0 <= o0 < N }'
97         index: '[N] -> { S_4[] -> b[] }'
98         depth: 1
99         reference: __pet_ref_5
100         kill: 1