expr.c: access_add_ref_id: avoid using access relation
[pet.git] / tests / dynamic_bound.scop
blob4e230caf8efb87462302cd435e82740e1b6674de
1 start: 143
2 end: 351
3 indent: "\t"
4 context: '{  :  }'
5 arrays:
6 - context: '{  :  }'
7   extent: '{ M[] }'
8   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 100 }'
9   element_type: int
10   element_size: 4
11 - context: '{  :  }'
12   extent: '{ N[] }'
13   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 100 }'
14   element_type: int
15   element_size: 4
16 - context: '{  :  }'
17   extent: '{ a[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= 99 and i1 <= 99 }'
18   element_type: int
19   element_size: 4
20 statements:
21 - line: 13
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[] -> N[] }'
32         index: '{ S_0[] -> N[] }'
33         reference: __pet_ref_0
34         read: 0
35         write: 1
36       - type: call
37         name: f
38 - line: 14
39   domain: '{ S_1[] }'
40   schedule: '{ S_1[] -> [1] }'
41   body:
42     type: expression
43     expr:
44       type: op
45       operation: =
46       arguments:
47       - type: access
48         relation: '{ S_1[] -> M[] }'
49         index: '{ S_1[] -> M[] }'
50         reference: __pet_ref_1
51         read: 0
52         write: 1
53       - type: call
54         name: g
55 - line: 17
56   domain: '{ [S_2[i, j] -> [N, M]] : i >= 0 and j >= 0 and N >= 1 + i and M >= 1 +
57     j }'
58   schedule: '{ S_2[i, j] -> [2, i, j] }'
59   body:
60     type: expression
61     expr:
62       type: op
63       operation: =
64       arguments:
65       - type: access
66         relation: '{ S_2[i, j] -> a[i, j] }'
67         index: '{ S_2[i, j] -> a[(i), (j)] }'
68         reference: __pet_ref_4
69         read: 0
70         write: 1
71       - type: op
72         operation: +
73         arguments:
74         - type: access
75           relation: '{ S_2[i, j] -> [i] }'
76           index: '{ S_2[i, j] -> [(i)] }'
77           reference: __pet_ref_5
78           read: 1
79           write: 0
80         - type: access
81           relation: '{ S_2[i, j] -> [j] }'
82           index: '{ S_2[i, j] -> [(j)] }'
83           reference: __pet_ref_6
84           read: 1
85           write: 0
86   arguments:
87   - type: access
88     relation: '{ S_2[i, j] -> N[] }'
89     index: '{ S_2[i, j] -> N[] }'
90     reference: __pet_ref_2
91     read: 1
92     write: 0
93   - type: access
94     relation: '{ S_2[i, j] -> M[] }'
95     index: '{ S_2[i, j] -> M[] }'
96     reference: __pet_ref_3
97     read: 1
98     write: 0
99 - line: 20
100   domain: '{ [S_3[i, j] -> [N, M]] : i >= 0 and j >= 0 and N >= 1 + i and M >= 1 +
101     j }'
102   schedule: '{ S_3[i, j] -> [3, i, j] }'
103   body:
104     type: expression
105     expr:
106       type: call
107       name: h
108       arguments:
109       - type: access
110         relation: '{ S_3[i, j] -> [i] }'
111         index: '{ S_3[i, j] -> [(i)] }'
112         reference: __pet_ref_9
113         read: 1
114         write: 0
115       - type: access
116         relation: '{ S_3[i, j] -> [j] }'
117         index: '{ S_3[i, j] -> [(j)] }'
118         reference: __pet_ref_10
119         read: 1
120         write: 0
121       - type: access
122         relation: '{ S_3[i, j] -> a[i, j] }'
123         index: '{ S_3[i, j] -> a[(i), (j)] }'
124         reference: __pet_ref_11
125         read: 1
126         write: 0
127   arguments:
128   - type: access
129     relation: '{ S_3[i, j] -> N[] }'
130     index: '{ S_3[i, j] -> N[] }'
131     reference: __pet_ref_7
132     read: 1
133     write: 0
134   - type: access
135     relation: '{ S_3[i, j] -> M[] }'
136     index: '{ S_3[i, j] -> M[] }'
137     reference: __pet_ref_8
138     read: 1
139     write: 0