pet_stmt: use pet_tree to represent statement body
[pet.git] / tests / struct9.scop
blob975ea45452e7302b84d983954202027e75a4fcd5
1 start: 127
2 end: 359
3 indent: "\t"
4 context: '{  :  }'
5 types:
6 - name: s
7   definition: "struct s {\n    int a[30][40];\n}"
8 arrays:
9 - context: '{  :  }'
10   extent: '{ s[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= 9 and i1 <= 19 }'
11   element_type: struct s
12   element_size: 4800
13   element_is_record: 1
14 - context: '{  :  }'
15   extent: '{ s_a[s[i0, i1] -> a[i2, i3]] : i0 >= 0 and i1 >= 0 and i0 <= 9 and i1
16     <= 19 and i2 >= 0 and i3 >= 0 and i2 <= 29 and i3 <= 39 }'
17   element_type: int
18   element_size: 4
19 statements:
20 - line: 18
21   domain: '{ S_0[i, j, k, l] : i >= 0 and i <= 9 and j <= 19 and j >= 0 and k <= 29
22     and k >= 0 and l <= 39 and l >= 0 }'
23   schedule: '{ S_0[i, j, k, l] -> [0, i, j, k, l, 0] }'
24   body:
25     type: expression
26     expr:
27       type: call
28       name: f1
29       arguments:
30       - type: access
31         relation: '{ S_0[i, j, k, l] -> s_a[s[i, j] -> a[k, l]] }'
32         index: '{ S_0[i, j, k, l] -> s_a[s[(i), (j)] -> a[(k), (l)]] }'
33         reference: __pet_ref_0
34         read: 1
35         write: 0
36 - line: 19
37   domain: '{ S_1[i, j, k, l] : i >= 0 and i <= 9 and j <= 19 and j >= 0 and k <= 29
38     and k >= 0 and l <= 39 and l >= 0 }'
39   schedule: '{ S_1[i, j, k, l] -> [0, i, j, k, l, 1] }'
40   body:
41     type: expression
42     expr:
43       type: call
44       name: f2
45       arguments:
46       - type: access
47         relation: '{ S_1[i, j, k, l] -> s_a[s[i, j] -> a[k, o3]] }'
48         index: '{ S_1[i, j, k, l] -> s_a[s[(i), (j)] -> a[(k)]] }'
49         reference: __pet_ref_1
50         read: 0
51         write: 1
52 - line: 20
53   domain: '{ S_2[i, j, k, l] : i >= 0 and i <= 9 and j <= 19 and j >= 0 and k <= 29
54     and k >= 0 and l <= 39 and l >= 0 }'
55   schedule: '{ S_2[i, j, k, l] -> [0, i, j, k, l, 2] }'
56   body:
57     type: expression
58     expr:
59       type: call
60       name: f3
61       arguments:
62       - type: access
63         relation: '{ S_2[i, j, k, l] -> s_a[s[i, j] -> a[o2, o3]] }'
64         index: '{ S_2[i, j, k, l] -> s_a[s[(i), (j)] -> a[]] }'
65         reference: __pet_ref_2
66         read: 0
67         write: 1