pet_expr: document the read and write fields
[pet.git] / tests / loop7.scop
blob514cc4c466082ee083263651150374d097d25cd6
1 start: 40
2 end: 114
3 indent: "\t"
4 context: '{  :  }'
5 arrays:
6 - context: '{  :  }'
7   extent: '{ __pet_test_0[t] : t >= 0 }'
8   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
9   element_type: int
10   element_size: 4
11   uniquely_defined: 1
12 - context: '{  :  }'
13   extent: '{ a[] }'
14   element_type: int
15   element_size: 4
16 - context: '{  :  }'
17   extent: '{ i[] }'
18   element_type: int
19   element_size: 4
20 statements:
21 - line: 9
22   domain: '{ S_0[] }'
23   schedule: '{ S_0[] -> [0] }'
24   body:
25     type: expression
26     expr:
27       type: op
28       operation: =
29       arguments:
30       - type: access
31         index: '{ S_0[] -> i[] }'
32         reference: __pet_ref_0
33         read: 0
34         write: 1
35       - type: call
36         name: f
37 - line: 10
38   domain: '{ S_1[] }'
39   schedule: '{ S_1[] -> [1, 0] }'
40   body:
41     type: expression
42     expr:
43       type: op
44       operation: =
45       arguments:
46       - type: access
47         index: '{ S_1[] -> i[] }'
48         reference: __pet_ref_1
49         read: 0
50         write: 1
51       - type: access
52         index: '{ S_1[] -> i[] }'
53         reference: __pet_ref_2
54         read: 1
55         write: 0
56 - line: 10
57   domain: '{ [S_2[t] -> [1]] : t >= 0 }'
58   schedule: '{ S_2[t] -> [1, 1, t, 0] }'
59   body:
60     type: expression
61     expr:
62       type: op
63       operation: =
64       arguments:
65       - type: access
66         index: '{ S_2[t] -> __pet_test_0[(t)] }'
67         reference: __pet_ref_4
68         read: 0
69         write: 1
70       - type: op
71         operation: <
72         arguments:
73         - type: access
74           index: '{ S_2[t] -> i[] }'
75           reference: __pet_ref_5
76           read: 1
77           write: 0
78         - type: int
79           value: 10
80   arguments:
81   - type: access
82     index: '{ S_2[t] -> __pet_test_0[((-1 + t) : t >= 1)] }'
83     reference: __pet_ref_3
84     read: 1
85     write: 0
86 - line: 11
87   domain: '{ [S_3[t] -> [1]] : t >= 0 }'
88   schedule: '{ S_3[t] -> [1, 1, t, 1] }'
89   body:
90     type: expression
91     expr:
92       type: op
93       operation: =
94       arguments:
95       - type: access
96         index: '{ S_3[t] -> a[] }'
97         reference: __pet_ref_7
98         read: 0
99         write: 1
100       - type: int
101         value: 5
102   arguments:
103   - type: access
104     index: '{ S_3[t] -> __pet_test_0[(t)] }'
105     reference: __pet_ref_6
106     read: 1
107     write: 0
108 - line: 10
109   domain: '{ [S_4[t] -> [1]] : t >= 0 }'
110   schedule: '{ S_4[t] -> [1, 1, t, 2] }'
111   body:
112     type: expression
113     expr:
114       type: op
115       operation: +=
116       arguments:
117       - type: access
118         index: '{ S_4[t] -> i[] }'
119         reference: __pet_ref_9
120         read: 0
121         write: 1
122       - type: int
123         value: 1
124   arguments:
125   - type: access
126     index: '{ S_4[t] -> __pet_test_0[(t)] }'
127     reference: __pet_ref_8
128     read: 1
129     write: 0
130 implications:
131 - satisfied: 1
132   extension: '{ __pet_test_0[t] -> __pet_test_0[t''] : t'' <= t and t'' >= 0 }'