update test case outputs
[pet.git] / tests / data_dependent.scop
blob5126cd53c2fbfe44e94e4b18be9d749e3d8f441a
1 start: 274
2 end: 498
3 context: '[N, M] -> {  : M >= 10 and M <= 1000 and N >= 10 and N <= 1000 }'
4 arrays:
5 - context: '[M, N] -> {  : N >= 0 and M >= 0 }'
6   extent: '[N, M] -> { in1[i0, i1] : i1 <= -1 + M and i1 >= 0 and i0 <= -1 + N and
7     i0 >= 0 }'
8   element_type: int
9   element_size: 4
10 - context: '[N] -> {  : N >= 0 }'
11   extent: '[N, M] -> { in2[i0] : i0 <= -1 + N and i0 >= 0 }'
12   value_bounds: '{ [i0] : i0 >= -1 and i0 <= 1 }'
13   element_type: int
14   element_size: 4
15 - context: '[N] -> {  : N >= 0 }'
16   extent: '[N, M] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= 0 and i1 <=
17     9 }'
18   element_type: int
19   element_size: 4
20 - context: '[N] -> {  : N >= 0 }'
21   extent: '[N, M] -> { C[i0] : i0 <= -1 + N and i0 >= 0 }'
22   element_type: int
23   element_size: 4
24 - context: '{  :  }'
25   extent: '[N, M] -> { m[] }'
26   element_type: int
27   element_size: 4
28 statements:
29 - line: 23
30   domain: '[N, M] -> { S_0[i] : i <= -1 + N and i >= 0 }'
31   schedule: '[N] -> { S_0[i] -> [0, i, 0] }'
32   body:
33     type: binary
34     operation: =
35     arguments:
36     - type: access
37       relation: '[N, M] -> { S_0[i] -> m[] }'
38       read: 0
39       write: 1
40     - type: binary
41       operation: +
42       arguments:
43       - type: access
44         relation: '[N, M] -> { S_0[i] -> [i] }'
45         read: 1
46         write: 0
47       - type: access
48         relation: '[N, M] -> { S_0[i] -> [1] }'
49         read: 1
50         write: 0
51 - line: 25
52   domain: '[N, M] -> { S_1[i, j] : j <= -1 + M and j >= 0 and i <= -1 + N and i >=
53     0 }'
54   schedule: '[M, N] -> { S_1[i, j] -> [0, i, 1, j] }'
55   body:
56     type: binary
57     operation: =
58     arguments:
59     - type: access
60       relation: '[N, M] -> { S_1[i, j] -> m[] }'
61       read: 0
62       write: 1
63     - type: call
64       name: g
65       arguments:
66       - type: call
67         name: h
68         arguments:
69         - type: access
70           relation: '[N, M] -> { S_1[i, j] -> m[] }'
71           read: 1
72           write: 0
73       - type: access
74         relation: '[N, M] -> { S_1[i, j] -> in1[i, j] }'
75         read: 1
76         write: 0
77 - line: 26
78   domain: '[N, M] -> { S_2[i] : i <= -1 + N and i >= 0 }'
79   schedule: '[N] -> { S_2[i] -> [0, i, 2] }'
80   body:
81     type: call
82     name: compute_row
83     arguments:
84     - type: call
85       name: h
86       arguments:
87       - type: access
88         relation: '[N, M] -> { S_2[i] -> m[] }'
89         read: 1
90         write: 0
91     - type: access
92       relation: '[N, M] -> { S_2[i] -> A[i, o1] }'
93       read: 0
94       write: 1
95 - line: 28
96   domain: '[N, M] -> { S_3[] }'
97   schedule: '{ S_3[] -> [1] }'
98   body:
99     type: binary
100     operation: =
101     arguments:
102     - type: access
103       relation: '[N, M] -> { S_3[] -> A[5, 6] }'
104       read: 0
105       write: 1
106     - type: access
107       relation: '[N, M] -> { S_3[] -> [0] }'
108       read: 1
109       write: 0
110 - line: 30
111   domain: '[N, M] -> { S_4[i] : i <= -3 + N and i >= 0 }'
112   schedule: '[N] -> { S_4[i] -> [2, i] }'
113   body:
114     type: binary
115     operation: =
116     arguments:
117     - type: access
118       relation: '[N, M] -> { S_4[i] -> C[i] }'
119       read: 0
120       write: 1
121     - type: call
122       name: f
123       arguments:
124       - type: access
125         relation: '[N, M] -> { [S_4[i] -> [i1]] -> A[1 + i + i1, o1] }'
126         read: 1
127         write: 0
128         arguments:
129         - type: access
130           relation: '[N, M] -> { S_4[i] -> in2[i] }'
131           read: 1
132           write: 0