add reference identifiers to all access expressions
[pet.git] / tests / for_while_dec.scop
blob76e2f9c000ec9b6e89a149b305111387abcac885
1 start: 83
2 end: 234
3 context: '[n] -> {  : n <= 2147483647 and n >= -2147483648 }'
4 arrays:
5 - context: '{  :  }'
6   extent: '[n] -> { __pet_test_0[x1, x2] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1
7     <= -1 + n and x1 >= 0 and x2 <= 9) }'
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: '[n] -> { s[] }'
14   element_type: int
15   element_size: 4
16 statements:
17 - line: 12
18   domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }'
19   schedule: '[n] -> { S1[x1] -> [0, x1, 0] }'
20   body:
21     type: binary
22     operation: =
23     arguments:
24     - type: access
25       relation: '[n] -> { S1[x1] -> s[] }'
26       reference: __pet_ref_0
27       read: 0
28       write: 1
29     - type: call
30       name: f
31 - line: 13
32   domain: '[n] -> { [S_1[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1
33     <= -1 + n and x1 >= 0 and x2 <= 9) }'
34   schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }'
35   body:
36     type: binary
37     operation: =
38     arguments:
39     - type: access
40       relation: '[n] -> { S_1[x1, x2] -> __pet_test_0[x1, x2] }'
41       reference: __pet_ref_2
42       read: 0
43       write: 1
44     - type: call
45       name: P
46       arguments:
47       - type: access
48         relation: '[n] -> { S_1[x1, x2] -> [x1] }'
49         reference: __pet_ref_3
50         read: 1
51         write: 0
52       - type: access
53         relation: '[n] -> { S_1[x1, x2] -> [x2] }'
54         reference: __pet_ref_4
55         read: 1
56         write: 0
57   arguments:
58   - type: access
59     relation: '[n] -> { S_1[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]:
60       3e0 = o1 and o1 >= 3 + x2 and o1 <= 9) }'
61     reference: __pet_ref_1
62     read: 1
63     write: 0
64 - line: 14
65   domain: '[n] -> { [S2[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 <=
66     -1 + n and x1 >= 0 and x2 <= 9) }'
67   schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, -x2, 1, 0] }'
68   body:
69     type: binary
70     operation: =
71     arguments:
72     - type: access
73       relation: '[n] -> { S2[x1, x2] -> s[] }'
74       reference: __pet_ref_6
75       read: 0
76       write: 1
77     - type: call
78       name: g
79       arguments:
80       - type: access
81         relation: '[n] -> { S2[x1, x2] -> s[] }'
82         reference: __pet_ref_7
83         read: 1
84         write: 0
85   arguments:
86   - type: access
87     relation: '[n] -> { S2[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]:
88       3e0 = o1 and o1 >= x2 and o1 <= 9) }'
89     reference: __pet_ref_5
90     read: 1
91     write: 0
92 - line: 16
93   domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }'
94   schedule: '[n] -> { R[x1] -> [0, x1, 2] }'
95   body:
96     type: call
97     name: h
98     arguments:
99     - type: access
100       relation: '[n] -> { R[x1] -> s[] }'
101       reference: __pet_ref_8
102       read: 1
103       write: 0