use an isl_multi_pw_aff to represent a skip condition
[pet.git] / tests / dynamic_bound.scop
blob54f4d626b63ca6cc7331aeced12f5057bae9ea96
1 start: 143
2 end: 351
3 context: '{  :  }'
4 arrays:
5 - context: '{  :  }'
6   extent: '{ N[] }'
7   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 100 }'
8   element_type: int
9   element_size: 4
10 - context: '{  :  }'
11   extent: '{ M[] }'
12   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 100 }'
13   element_type: int
14   element_size: 4
15 - context: '{  :  }'
16   extent: '{ a[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= 99 and i1 <= 99 }'
17   element_type: int
18   element_size: 4
19 statements:
20 - line: 13
21   domain: '{ S_0[] }'
22   schedule: '{ S_0[] -> [0] }'
23   body:
24     type: binary
25     operation: =
26     arguments:
27     - type: access
28       relation: '{ S_0[] -> N[] }'
29       reference: __pet_ref_0
30       read: 0
31       write: 1
32     - type: call
33       name: f
34 - line: 14
35   domain: '{ S_1[] }'
36   schedule: '{ S_1[] -> [1] }'
37   body:
38     type: binary
39     operation: =
40     arguments:
41     - type: access
42       relation: '{ S_1[] -> M[] }'
43       reference: __pet_ref_1
44       read: 0
45       write: 1
46     - type: call
47       name: g
48 - line: 17
49   domain: '{ [S_4[i, j] -> [N, M]] : i >= 0 and j >= 0 and N >= 1 + i and M >= 1 +
50     j }'
51   schedule: '{ S_4[i, j] -> [2, i, j] }'
52   body:
53     type: binary
54     operation: =
55     arguments:
56     - type: access
57       relation: '{ S_4[i, j] -> a[i, j] }'
58       reference: __pet_ref_4
59       read: 0
60       write: 1
61     - type: binary
62       operation: +
63       arguments:
64       - type: access
65         relation: '{ S_4[i, j] -> [i] }'
66         reference: __pet_ref_5
67         read: 1
68         write: 0
69       - type: access
70         relation: '{ S_4[i, j] -> [j] }'
71         reference: __pet_ref_6
72         read: 1
73         write: 0
74   arguments:
75   - type: access
76     relation: '{ S_4[i, j] -> N[] }'
77     reference: __pet_ref_2
78     read: 1
79     write: 0
80   - type: access
81     relation: '{ S_4[i, j] -> M[] }'
82     reference: __pet_ref_3
83     read: 1
84     write: 0
85 - line: 20
86   domain: '{ [S_7[i, j] -> [N, M]] : i >= 0 and j >= 0 and N >= 1 + i and M >= 1 +
87     j }'
88   schedule: '{ S_7[i, j] -> [3, i, j] }'
89   body:
90     type: call
91     name: h
92     arguments:
93     - type: access
94       relation: '{ S_7[i, j] -> [i] }'
95       reference: __pet_ref_9
96       read: 1
97       write: 0
98     - type: access
99       relation: '{ S_7[i, j] -> [j] }'
100       reference: __pet_ref_10
101       read: 1
102       write: 0
103     - type: access
104       relation: '{ S_7[i, j] -> a[i, j] }'
105       reference: __pet_ref_11
106       read: 1
107       write: 0
108   arguments:
109   - type: access
110     relation: '{ S_7[i, j] -> N[] }'
111     reference: __pet_ref_7
112     read: 1
113     write: 0
114   - type: access
115     relation: '{ S_7[i, j] -> M[] }'
116     reference: __pet_ref_8
117     read: 1
118     write: 0