pet_array: explicitly keep track of whether array is innermost
[pet.git] / tests / inc5.scop
blob6d2e9cf3f967b3762401c32db004b55eb69abd97
1 start: 38
2 end: 115
3 indent: "\t"
4 context: '[N] -> {  : 0 <= N <= 2147483647 }'
5 schedule: '{ domain: "[N] -> { S_3[t] : t >= 0; S_5[]; S_6[]; S_1[]; S_4[t] : t >=
6   0; S_0[]; S_2[t] : t >= 0 }", child: { sequence: [ { filter: "{ S_0[] }" }, { filter:
7   "{ S_1[] }" }, { filter: "{ S_3[t]; S_2[t]; S_4[t] }", child: { schedule: "L_0[{
8   S_4[t] -> [(t)]; S_2[t] -> [(t)]; S_3[t] -> [(t)] }]", child: { sequence: [ { filter:
9   "{ S_2[t] }" }, { filter: "{ S_3[t] }" }, { filter: "{ S_4[t] }" } ] } } }, { filter:
10   "{ S_5[]; S_6[] }", child: { set: [ { filter: "{ S_5[] }" }, { filter: "{ S_6[]
11   }" } ] } } ] } }'
12 arrays:
13 - context: '{  :  }'
14   extent: '[N] -> { __pet_test_0[t] : t >= 0 }'
15   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
16   element_type: int
17   element_size: 4
18   uniquely_defined: 1
19 - context: '[N] -> {  : N >= 0 }'
20   extent: '[N] -> { a[i0] : 0 <= i0 < N }'
21   element_type: int
22   element_size: 4
23 - context: '{  :  }'
24   extent: '[N] -> { i[] }'
25   element_type: int
26   element_size: 4
27 statements:
28 - line: 7
29   domain: '[N] -> { S_0[] }'
30   body:
31     type: expression
32     expr:
33       type: op
34       operation: =
35       arguments:
36       - type: access
37         index: '[N] -> { S_0[] -> i[] }'
38         reference: __pet_ref_0
39         read: 0
40         write: 1
41       - type: int
42         value: 0
43 - line: 8
44   domain: '[N] -> { S_1[] }'
45   body:
46     type: expression
47     expr:
48       type: op
49       operation: =
50       arguments:
51       - type: access
52         index: '[N] -> { S_1[] -> i[] }'
53         reference: __pet_ref_1
54         read: 0
55         write: 1
56       - type: int
57         value: 0
58 - line: 8
59   domain: '[N] -> { [S_2[t] -> [__pet_test_0 = 1]] : t >= 0 }'
60   body:
61     type: expression
62     expr:
63       type: op
64       operation: =
65       arguments:
66       - type: access
67         index: '[N] -> { S_2[t] -> __pet_test_0[(t)] }'
68         reference: __pet_ref_3
69         read: 0
70         write: 1
71       - type: op
72         operation: <
73         arguments:
74         - type: access
75           index: '[N] -> { S_2[t] -> i[] }'
76           reference: __pet_ref_4
77           read: 1
78           write: 0
79         - type: access
80           index: '[N] -> { S_2[t] -> [(N)] }'
81           reference: __pet_ref_5
82           read: 1
83           write: 0
84   arguments:
85   - type: access
86     index: '[N] -> { S_2[t] -> __pet_test_0[((-1 + t) : t > 0)] }'
87     reference: __pet_ref_2
88     read: 1
89     write: 0
90 - line: 9
91   domain: '[N] -> { [S_3[t] -> [__pet_test_0 = 1]] : t >= 0 }'
92   body:
93     type: expression
94     expr:
95       type: op
96       operation: =
97       arguments:
98       - type: access
99         index: '[N] -> { [S_3[t] -> [i1]] -> a[((i1) : i1 >= 0)] }'
100         reference: __pet_ref_8
101         read: 0
102         write: 1
103         arguments:
104         - type: access
105           index: '[N] -> { S_3[t] -> i[] }'
106           reference: __pet_ref_7
107           read: 1
108           write: 0
109       - type: access
110         index: '[N] -> { S_3[t] -> i[] }'
111         reference: __pet_ref_9
112         read: 1
113         write: 0
114   arguments:
115   - type: access
116     index: '[N] -> { S_3[t] -> __pet_test_0[(t)] }'
117     reference: __pet_ref_6
118     read: 1
119     write: 0
120 - line: 8
121   domain: '[N] -> { [S_4[t] -> [__pet_test_0 = 1]] : t >= 0 }'
122   body:
123     type: expression
124     expr:
125       type: op
126       operation: +=
127       arguments:
128       - type: access
129         index: '[N] -> { S_4[t] -> i[] }'
130         reference: __pet_ref_11
131         read: 0
132         write: 1
133       - type: access
134         index: '[N] -> { S_4[t] -> i[] }'
135         reference: __pet_ref_12
136         read: 1
137         write: 0
138   arguments:
139   - type: access
140     index: '[N] -> { S_4[t] -> __pet_test_0[(t)] }'
141     reference: __pet_ref_10
142     read: 1
143     write: 0
144 - line: -1
145   domain: '[N] -> { S_5[] }'
146   body:
147     type: expression
148     expr:
149       type: op
150       operation: kill
151       arguments:
152       - type: access
153         killed: '[N] -> { S_5[] -> i[] }'
154         index: '[N] -> { S_5[] -> i[] }'
155         reference: __pet_ref_13
156         kill: 1
157 - line: -1
158   domain: '[N] -> { S_6[] }'
159   body:
160     type: expression
161     expr:
162       type: op
163       operation: kill
164       arguments:
165       - type: access
166         killed: '[N] -> { S_6[] -> a[o0] : 0 <= o0 < N }'
167         index: '[N] -> { S_6[] -> a[] }'
168         depth: 1
169         reference: __pet_ref_14
170         kill: 1
171 implications:
172 - satisfied: 1
173   extension: '{ __pet_test_0[t] -> __pet_test_0[t''] : 0 <= t'' <= t }'