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