expr.c: access_add_ref_id: avoid using access relation
[pet.git] / tests / while_inc.scop
blob9f413f8b990df97f41bdf00b1aa44d2842cdb6ae
1 start: 31
2 end: 109
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: '{ T[i0] : i0 >= 0 }'
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: 5
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         relation: '{ S_0[] -> i[] }'
32         index: '{ S_0[] -> i[] }'
33         reference: __pet_ref_0
34         read: 0
35         write: 1
36       - type: int
37         value: 0
38 - line: 6
39   domain: '{ [S_1[t] -> [1]] : t >= 0 }'
40   schedule: '{ S_1[t] -> [1, t, 0] }'
41   body:
42     type: expression
43     expr:
44       type: op
45       operation: =
46       arguments:
47       - type: access
48         relation: '{ S_1[t] -> __pet_test_0[t] }'
49         index: '{ S_1[t] -> __pet_test_0[(t)] }'
50         reference: __pet_ref_2
51         read: 0
52         write: 1
53       - type: op
54         operation: <
55         arguments:
56         - type: access
57           relation: '{ S_1[t] -> i[] }'
58           index: '{ S_1[t] -> i[] }'
59           reference: __pet_ref_3
60           read: 1
61           write: 0
62         - type: int
63           value: 100
64   arguments:
65   - type: access
66     relation: '{ S_1[t] -> __pet_test_0[-1 + t] : t >= 1 }'
67     index: '{ S_1[t] -> __pet_test_0[((-1 + t) : t >= 1)] }'
68     reference: __pet_ref_1
69     read: 1
70     write: 0
71 - line: 7
72   domain: '{ [S_2[t] -> [1]] : t >= 0 }'
73   schedule: '{ S_2[t] -> [1, t, 1, 0] }'
74   body:
75     type: expression
76     expr:
77       type: op
78       operation: =
79       arguments:
80       - type: access
81         relation: '{ [S_2[t] -> [i1]] -> T[i1] : i1 >= 0 }'
82         index: '{ [S_2[t] -> [i1]] -> T[((i1) : i1 >= 0)] }'
83         reference: __pet_ref_6
84         read: 0
85         write: 1
86         arguments:
87         - type: access
88           relation: '{ S_2[t] -> i[] }'
89           index: '{ S_2[t] -> i[] }'
90           reference: __pet_ref_5
91           read: 1
92           write: 0
93       - type: access
94         relation: '{ S_2[t] -> i[] }'
95         index: '{ S_2[t] -> i[] }'
96         reference: __pet_ref_7
97         read: 1
98         write: 0
99   arguments:
100   - type: access
101     relation: '{ S_2[t] -> __pet_test_0[t] }'
102     index: '{ S_2[t] -> __pet_test_0[(t)] }'
103     reference: __pet_ref_4
104     read: 1
105     write: 0
106 - line: 8
107   domain: '{ [S_3[t] -> [1]] : t >= 0 }'
108   schedule: '{ S_3[t] -> [1, t, 1, 1] }'
109   body:
110     type: expression
111     expr:
112       type: op
113       operation: ++
114       arguments:
115       - type: access
116         relation: '{ S_3[t] -> i[] }'
117         index: '{ S_3[t] -> i[] }'
118         reference: __pet_ref_9
119         read: 1
120         write: 1
121   arguments:
122   - type: access
123     relation: '{ S_3[t] -> __pet_test_0[t] }'
124     index: '{ S_3[t] -> __pet_test_0[(t)] }'
125     reference: __pet_ref_8
126     read: 1
127     write: 0
128 implications:
129 - satisfied: 1
130   extension: '{ __pet_test_0[t] -> __pet_test_0[t''] : t'' <= t and t'' >= 0 }'