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