privately export pet_expr_access_get_dependent_access
[pet.git] / tests / struct4.scop
blobdeff2832f6272c0a00e5c203d179e8b636a8ceaa
1 start: 75
2 end: 189
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_0[i, j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }", child:
6   { schedule: "L_0[{ S_0[i, j] -> [(i)] }]", child: { schedule: "L_1[{ S_0[i, j] ->
7   [(j)] }]" } } }'
8 types:
9 - name: s
10   definition: "struct s {\n    struct {\n        int a[10];\n    } f[10];\n}"
11 arrays:
12 - context: '{  :  }'
13   extent: '{ s[] }'
14   element_type: struct s
15   element_size: 400
16   element_is_record: 1
17 - context: '{  :  }'
18   extent: '{ s_f[s[] -> f[i0]] : i0 >= 0 and i0 <= 9 }'
19   element_type: <subfield>
20   element_size: 40
21   element_is_record: 1
22 - context: '{  :  }'
23   extent: '{ s_f_a[s_f[s[] -> f[i0]] -> a[i1]] : i0 >= 0 and i0 <= 9 and i1 >= 0 and
24     i1 <= 9 }'
25   element_type: int
26   element_size: 4
27 statements:
28 - line: 14
29   domain: '{ S_0[i, j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }'
30   body:
31     type: expression
32     expr:
33       type: op
34       operation: =
35       arguments:
36       - type: access
37         index: '{ S_0[i, j] -> s_f_a[s_f[s[] -> f[(i)]] -> a[(j)]] }'
38         reference: __pet_ref_0
39         read: 0
40         write: 1
41       - type: op
42         operation: '*'
43         arguments:
44         - type: access
45           index: '{ S_0[i, j] -> [(i)] }'
46           reference: __pet_ref_1
47           read: 1
48           write: 0
49         - type: access
50           index: '{ S_0[i, j] -> [(j)] }'
51           reference: __pet_ref_2
52           read: 1
53           write: 0