postpone introduction of access relations
[pet.git] / tests / inc5.scop
blob543ee997ff3441f1994f8c6e1a0980a00a7fc1b3
1 start: 38
2 end: 115
3 indent: "\t"
4 context: '[N] -> {  : N >= 0 and N <= 2147483647 }'
5 arrays:
6 - context: '{  :  }'
7   extent: '[N] -> { __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: '[N] -> {  : N >= 0 }'
13   extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }'
14   element_type: int
15   element_size: 4
16 - context: '{  :  }'
17   extent: '[N] -> { i[] }'
18   element_type: int
19   element_size: 4
20 statements:
21 - line: 7
22   domain: '[N] -> { 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: '[N] -> { S_0[] -> i[] }'
32         reference: __pet_ref_0
33         read: 0
34         write: 1
35       - type: int
36         value: 0
37 - line: 8
38   domain: '[N] -> { 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: '[N] -> { S_1[] -> i[] }'
48         reference: __pet_ref_1
49         read: 0
50         write: 1
51       - type: int
52         value: 0
53 - line: 8
54   domain: '[N] -> { [S_2[t] -> [1]] : t >= 0 }'
55   schedule: '{ S_2[t] -> [1, 1, t, 0] }'
56   body:
57     type: expression
58     expr:
59       type: op
60       operation: =
61       arguments:
62       - type: access
63         index: '[N] -> { S_2[t] -> __pet_test_0[(t)] }'
64         reference: __pet_ref_3
65         read: 0
66         write: 1
67       - type: op
68         operation: <
69         arguments:
70         - type: access
71           index: '[N] -> { S_2[t] -> i[] }'
72           reference: __pet_ref_4
73           read: 1
74           write: 0
75         - type: access
76           index: '[N] -> { S_2[t] -> [(N)] }'
77           reference: __pet_ref_5
78           read: 1
79           write: 0
80   arguments:
81   - type: access
82     index: '[N] -> { S_2[t] -> __pet_test_0[((-1 + t) : t >= 1)] }'
83     reference: __pet_ref_2
84     read: 1
85     write: 0
86 - line: 9
87   domain: '[N] -> { [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: '[N] -> { [S_3[t] -> [i1]] -> a[((i1) : i1 >= 0)] }'
97         reference: __pet_ref_8
98         read: 0
99         write: 1
100         arguments:
101         - type: access
102           index: '[N] -> { S_3[t] -> i[] }'
103           reference: __pet_ref_7
104           read: 1
105           write: 0
106       - type: access
107         index: '[N] -> { S_3[t] -> i[] }'
108         reference: __pet_ref_9
109         read: 1
110         write: 0
111   arguments:
112   - type: access
113     index: '[N] -> { S_3[t] -> __pet_test_0[(t)] }'
114     reference: __pet_ref_6
115     read: 1
116     write: 0
117 - line: 8
118   domain: '[N] -> { [S_4[t] -> [1]] : t >= 0 }'
119   schedule: '{ S_4[t] -> [1, 1, t, 2] }'
120   body:
121     type: expression
122     expr:
123       type: op
124       operation: +=
125       arguments:
126       - type: access
127         index: '[N] -> { S_4[t] -> i[] }'
128         reference: __pet_ref_11
129         read: 0
130         write: 1
131       - type: access
132         index: '[N] -> { S_4[t] -> i[] }'
133         reference: __pet_ref_12
134         read: 1
135         write: 0
136   arguments:
137   - type: access
138     index: '[N] -> { S_4[t] -> __pet_test_0[(t)] }'
139     reference: __pet_ref_10
140     read: 1
141     write: 0
142 implications:
143 - satisfied: 1
144   extension: '{ __pet_test_0[t] -> __pet_test_0[t''] : t'' <= t and t'' >= 0 }'