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