privately export pet_expr_access_get_dependent_access
[pet.git] / tests / struct3.scop
bloba0de9bb7f85c90eab3d4b1083543146ca0335bfb
1 start: 66
2 end: 259
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_0[i, j, k, l] : i >= 0 and i <= 9 and j >= 0 and j <= 19
6   and k >= 0 and k <= 29 and l >= 0 and l <= 39 }", child: { schedule: "L_0[{ S_0[i,
7   j, k, l] -> [(i)] }]", child: { schedule: "L_1[{ S_0[i, j, k, l] -> [(j)] }]", child:
8   { schedule: "L_2[{ S_0[i, j, k, l] -> [(k)] }]", child: { schedule: "L_3[{ S_0[i,
9   j, k, l] -> [(l)] }]" } } } } }'
10 types:
11 - name: s
12   definition: "struct s {\n    int a[30][40];\n}"
13 arrays:
14 - context: '{  :  }'
15   extent: '{ s[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= 9 and i1 <= 19 }'
16   element_type: struct s
17   element_size: 4800
18   element_is_record: 1
19 - context: '{  :  }'
20   extent: '{ s_a[s[i0, i1] -> a[i2, i3]] : i0 >= 0 and i1 >= 0 and i0 <= 9 and i1
21     <= 19 and i2 >= 0 and i3 >= 0 and i2 <= 29 and i3 <= 39 }'
22   element_type: int
23   element_size: 4
24 statements:
25 - line: 14
26   domain: '{ S_0[i, j, k, l] : i >= 0 and i <= 9 and j >= 0 and j <= 19 and k >= 0
27     and k <= 29 and l >= 0 and l <= 39 }'
28   body:
29     type: expression
30     expr:
31       type: op
32       operation: =
33       arguments:
34       - type: access
35         index: '{ S_0[i, j, k, l] -> s_a[s[(i), (j)] -> a[(k), (l)]] }'
36         reference: __pet_ref_0
37         read: 0
38         write: 1
39       - type: op
40         operation: +
41         arguments:
42         - type: op
43           operation: +
44           arguments:
45           - type: op
46             operation: +
47             arguments:
48             - type: access
49               index: '{ S_0[i, j, k, l] -> [(i)] }'
50               reference: __pet_ref_1
51               read: 1
52               write: 0
53             - type: access
54               index: '{ S_0[i, j, k, l] -> [(j)] }'
55               reference: __pet_ref_2
56               read: 1
57               write: 0
58           - type: access
59             index: '{ S_0[i, j, k, l] -> [(k)] }'
60             reference: __pet_ref_3
61             read: 1
62             write: 0
63         - type: access
64           index: '{ S_0[i, j, k, l] -> [(l)] }'
65           reference: __pet_ref_4
66           read: 1
67           write: 0