use the clang driver to obtain command line arguments for the clang frontend
[pet.git] / tests / wdp.scop
bloba8c88040e7efbcd2992480752b3ff9f642a33863
1 context: '[N] -> {  : N >= 8 and N <= 16 }'
2 arrays:
3 - context: '{  :  }'
4   extent: '[N] -> { __pet_test_0[i] : i >= 0 and i <= -1 + N }'
5   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
6   element_type: int
7 - context: '{  :  }'
8   extent: '[N] -> { __pet_test_1[i] : i >= 0 and i <= -1 + N }'
9   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
10   element_type: int
11 - context: '[N] -> {  : N >= 0 }'
12   extent: '[N] -> { x[i0] : i0 >= 0 and i0 <= -1 + N }'
13   element_type: int
14 - context: '[N] -> {  : N >= -1 }'
15   extent: '[N] -> { y[i0] : i0 >= 0 and i0 <= N }'
16   element_type: int
17 - context: '[N] -> {  : N >= -1 }'
18   extent: '[N] -> { t[i0] : i0 >= 0 and i0 <= N }'
19   element_type: int
20 - context: '[N] -> {  : N >= -2 }'
21   extent: '[N] -> { z[i0] : i0 >= 0 and i0 <= 1 + N }'
22   element_type: int
23 statements:
24 - line: 19
25   domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }'
26   schedule: '[N] -> { S_0[i] -> [0, i] }'
27   body:
28     type: binary
29     operation: =
30     arguments:
31     - type: access
32       relation: '[N] -> { S_0[i] -> x[i] }'
33       read: 0
34       write: 1
35     - type: call
36       name: _Source_x
37 - line: 22
38   domain: '[N] -> { S_1[i] : i >= 0 and i <= N }'
39   schedule: '[N] -> { S_1[i] -> [1, i] }'
40   body:
41     type: call
42     name: _Source_yt
43     arguments:
44     - type: access
45       relation: '[N] -> { S_1[i] -> y[i] }'
46       read: 0
47       write: 1
48     - type: access
49       relation: '[N] -> { S_1[i] -> t[i] }'
50       read: 0
51       write: 1
52 - line: 25
53   domain: '[N] -> { S_2[i] : i >= 0 and i <= 1 + N }'
54   schedule: '[N] -> { S_2[i] -> [2, i] }'
55   body:
56     type: binary
57     operation: =
58     arguments:
59     - type: access
60       relation: '[N] -> { S_2[i] -> z[i] }'
61       read: 0
62       write: 1
63     - type: call
64       name: _Source_z
65 - line: 28
66   domain: '[N] -> { S_3[i] : i >= 0 and i <= -1 + N }'
67   schedule: '[N] -> { S_3[i] -> [3, i, 0, 0] }'
68   body:
69     type: binary
70     operation: =
71     arguments:
72     - type: access
73       relation: '[N] -> { S_3[i] -> __pet_test_0[i] }'
74       read: 0
75       write: 1
76     - type: binary
77       operation: ==
78       arguments:
79       - type: access
80         relation: '[N] -> { S_3[i] -> z[i] }'
81         read: 1
82         write: 0
83       - type: access
84         relation: '[N] -> { S_3[i] -> [0] }'
85         read: 1
86         write: 0
87 - line: 29
88   domain: '[N] -> { [S_4[i] -> [1]] : i >= 0 and i <= -1 + N }'
89   schedule: '[N] -> { S_4[i] -> [3, i, 0, 1] }'
90   body:
91     type: binary
92     operation: =
93     arguments:
94     - type: access
95       relation: '[N] -> { S_4[i] -> x[i] }'
96       read: 0
97       write: 1
98     - type: call
99       name: F1
100       arguments:
101       - type: access
102         relation: '[N] -> { S_4[i] -> x[i] }'
103         read: 1
104         write: 0
105   arguments:
106   - type: access
107     relation: '[N] -> { S_4[i] -> __pet_test_0[i] }'
108     read: 1
109     write: 0
110 - line: 30
111   domain: '[N] -> { S_5[i] : i >= 0 and i <= -1 + N }'
112   schedule: '[N] -> { S_5[i] -> [3, i, 1, 0] }'
113   body:
114     type: binary
115     operation: =
116     arguments:
117     - type: access
118       relation: '[N] -> { S_5[i] -> __pet_test_1[i] }'
119       read: 0
120       write: 1
121     - type: binary
122       operation: '>'
123       arguments:
124       - type: binary
125         operation: '*'
126         arguments:
127         - type: access
128           relation: '[N] -> { S_5[i] -> x[i] }'
129           read: 1
130           write: 0
131         - type: access
132           relation: '[N] -> { S_5[i] -> x[i] }'
133           read: 1
134           write: 0
135       - type: access
136         relation: '[N] -> { S_5[i] -> [100] }'
137         read: 1
138         write: 0
139 - line: 31
140   domain: '[N] -> { [S_6[i] -> [1]] : i >= 0 and i <= -1 + N }'
141   schedule: '[N] -> { S_6[i] -> [3, i, 1, 1, 0] }'
142   body:
143     type: binary
144     operation: =
145     arguments:
146     - type: access
147       relation: '[N] -> { S_6[i] -> y[1 + i] }'
148       read: 0
149       write: 1
150     - type: call
151       name: F2
152       arguments:
153       - type: access
154         relation: '[N] -> { S_6[i] -> y[i] }'
155         read: 1
156         write: 0
157   arguments:
158   - type: access
159     relation: '[N] -> { S_6[i] -> __pet_test_1[i] }'
160     read: 1
161     write: 0
162 - line: 32
163   domain: '[N] -> { [S_7[i] -> [1]] : i >= 0 and i <= -1 + N }'
164   schedule: '[N] -> { S_7[i] -> [3, i, 1, 1, 1] }'
165   body:
166     type: binary
167     operation: =
168     arguments:
169     - type: access
170       relation: '[N] -> { S_7[i] -> t[i] }'
171       read: 0
172       write: 1
173     - type: call
174       name: F3
175       arguments:
176       - type: access
177         relation: '[N] -> { S_7[i] -> t[i] }'
178         read: 1
179         write: 0
180   arguments:
181   - type: access
182     relation: '[N] -> { S_7[i] -> __pet_test_1[i] }'
183     read: 1
184     write: 0
185 - line: 34
186   domain: '[N] -> { S_8[i] : i >= 0 and i <= -1 + N }'
187   schedule: '[N] -> { S_8[i] -> [3, i, 2] }'
188   body:
189     type: call
190     name: F4
191     arguments:
192     - type: access
193       relation: '[N] -> { S_8[i] -> y[1 + i] }'
194       read: 1
195       write: 0
196     - type: access
197       relation: '[N] -> { S_8[i] -> z[i] }'
198       read: 1
199       write: 0
200     - type: access
201       relation: '[N] -> { S_8[i] -> y[1 + i] }'
202       read: 0
203       write: 1
204     - type: access
205       relation: '[N] -> { S_8[i] -> z[2 + i] }'
206       read: 0
207       write: 1