PetScan::extract_array: drop redundant isl_ctx argument
[pet.git] / tests / call_struct.scop
blob9c8c2145b2b86db44f7a49eac722038831e720c2
1 start: 295
2 end: 407
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_0[]; S_2[]; S_1[i] : i >= 1 and i <= 3 }", child: { sequence:
6   [ { filter: "{ S_0[] }" }, { filter: "{ S_1[i] }", child: { schedule: "L_0[{ S_1[i]
7   -> [(i)] }]" } }, { filter: "{ S_2[] }" } ] } }'
8 types:
9 - name: s
10   definition: "struct s {\n    struct s0 c[10];\n}"
11 - name: s0
12   definition: "struct s0 {\n    struct {\n        int a[10];\n    } f[10];\n    int
13     b;\n}"
14 arrays:
15 - context: '{  :  }'
16   extent: '{ s[i0] : i0 >= 0 and i0 <= 9 }'
17   element_type: struct s
18   element_size: 4040
19   element_is_record: 1
20 - context: '{  :  }'
21   extent: '{ s_c[s[i0] -> c[i1]] : i0 >= 0 and i0 <= 9 and i1 >= 0 and i1 <= 9 }'
22   element_type: struct s0
23   element_size: 404
24   element_is_record: 1
25 - context: '{  :  }'
26   extent: '{ s_c_b[s_c[s[i0] -> c[i1]] -> b[]] : i0 >= 0 and i0 <= 9 and i1 >= 0 and
27     i1 <= 9 }'
28   element_type: int
29   element_size: 4
30 - context: '{  :  }'
31   extent: '{ s_c_f[s_c[s[i0] -> c[i1]] -> f[i2]] : i0 >= 0 and i0 <= 9 and i1 >= 0
32     and i1 <= 9 and i2 >= 0 and i2 <= 9 }'
33   element_type: <subfield>
34   element_size: 40
35   element_is_record: 1
36 - context: '{  :  }'
37   extent: '{ s_c_f_a[s_c_f[s_c[s[i0] -> c[i1]] -> f[i2]] -> a[i3]] : i0 >= 0 and i0
38     <= 9 and i1 >= 0 and i1 <= 9 and i2 >= 0 and i2 <= 9 and i3 >= 0 and i3 <= 9 }'
39   element_type: int
40   element_size: 4
41 statements:
42 - line: 30
43   domain: '{ S_0[] }'
44   body:
45     type: expression
46     expr:
47       type: call
48       name: bar
49       arguments:
50       - type: access
51         may_write: '{ S_0[] -> s_c_b[s_c[s[0] -> c[3]] -> b[]]; S_0[] -> s_c_f_a[s_c_f[s_c[s[0]
52           -> c[2]] -> f[o2]] -> a[o3]] : o2 >= 0 and o3 >= 0 and o3 <= 9 and o2 <=
53           9 }'
54         must_write: '{ S_0[] -> s_c_b[s_c[s[0] -> c[3]] -> b[]]; S_0[] -> s_c_f_a[s_c_f[s_c[s[0]
55           -> c[2]] -> f[o2]] -> a[o3]] : o2 >= 0 and o3 >= 0 and o3 <= 9 and o2 <=
56           9 }'
57         index: '{ S_0[] -> s_c[s[(0)] -> c[]] }'
58         depth: 2
59         reference: __pet_ref_0
60         read: 0
61         write: 1
62 - line: 32
63   domain: '{ S_1[i] : i >= 1 and i <= 3 }'
64   body:
65     type: expression
66     expr:
67       type: call
68       name: bar
69       arguments:
70       - type: op
71         operation: '&'
72         arguments:
73         - type: access
74           may_write: '{ S_1[i] -> s_c_f_a[s_c_f[s_c[s[1] -> c[2 + i]] -> f[o2]] ->
75             a[o3]] : o3 >= 0 and o2 <= 9 and o2 >= 0 and o3 <= 9; S_1[i] -> s_c_b[s_c[s[1]
76             -> c[3 + i]] -> b[]] }'
77           must_write: '{ S_1[i] -> s_c_f_a[s_c_f[s_c[s[1] -> c[2 + i]] -> f[o2]] ->
78             a[o3]] : o3 >= 0 and o2 <= 9 and o2 >= 0 and o3 <= 9; S_1[i] -> s_c_b[s_c[s[1]
79             -> c[3 + i]] -> b[]] }'
80           index: '{ S_1[i] -> s_c[s[(1)] -> c[(i)]] }'
81           reference: __pet_ref_1
82           read: 0
83           write: 1
84 - line: 33
85   domain: '{ S_2[] }'
86   body:
87     type: expression
88     expr:
89       type: call
90       name: quux
91       arguments:
92       - type: op
93         operation: '&'
94         arguments:
95         - type: access
96           may_write: '{ S_2[] -> s_c_b[s_c[s[2] -> c[9]] -> b[]] }'
97           must_write: '{ S_2[] -> s_c_b[s_c[s[2] -> c[9]] -> b[]] }'
98           index: '{ S_2[] -> s_c_b[s_c[s[(2)] -> c[(9)]] -> b[]] }'
99           reference: __pet_ref_2
100           read: 0
101           write: 1