privately export pet_stmt_is_affine_assume
[pet.git] / tests / decl8.scop
blob1a0e522858bb8720448891d9c74c99ed928cc6ef
1 start: 28
2 end: 252
3 indent: "\t"
4 context: '[n] -> {  : 0 <= n <= 2147483647 }'
5 schedule: '{ domain: "[n] -> { S_6[i] : 0 <= i < n; S_4[i] : 0 <= i < n; S_0[]; S_2[i]
6   : 0 <= i < n; S_3[i] : 0 <= i < n; S_5[i] : 0 <= i < n; S_1[i] : 0 <= i < n }",
7   child: { sequence: [ { filter: "[n] -> { S_0[] }" }, { filter: "[n] -> { S_1[i]
8   }", child: { schedule: "[n] -> L_0[{ S_1[i] -> [(i)] }]" } }, { filter: "[n] ->
9   { S_4[i]; S_2[i]; S_3[i]; S_5[i] }", child: { schedule: "[n] -> L_1[{ S_4[i] ->
10   [(i)]; S_2[i] -> [(i)]; S_3[i] -> [(i)]; S_5[i] -> [(i)] }]", child: { sequence:
11   [ { filter: "[n] -> { S_2[i] }" }, { filter: "[n] -> { S_4[i] }" }, { filter: "[n]
12   -> { S_5[i] }" }, { filter: "[n] -> { S_3[i] }" } ] } } }, { filter: "[n] -> { S_6[i]
13   }", child: { schedule: "[n] -> L_2[{ S_6[i] -> [(i)] }]" } } ] } }'
14 arrays:
15 - context: '[n] -> {  : n >= 0 }'
16   extent: '[n] -> { a[i0] : 0 <= i0 < n }'
17   element_type: float
18   element_size: 4
19   declared: 1
20   exposed: 1
21 - context: '[n] -> {  : n >= 0 }'
22   extent: '[n] -> { b_0[i0, i1] : 0 <= i0 < n and 0 <= i1 < n }'
23   element_type: float
24   element_size: 4
25   declared: 1
26 - context: '{  :  }'
27   extent: '[n] -> { b[i0] : i0 >= 0 }'
28   element_type: float
29   element_size: 4
30 statements:
31 - line: 4
32   domain: '[n] -> { S_0[] }'
33   body:
34     type: expression
35     expr:
36       type: op
37       operation: kill
38       arguments:
39       - type: access
40         killed: '[n] -> { S_0[] -> a[o0] : 0 <= o0 < n }'
41         index: '[n] -> { S_0[] -> a[] }'
42         depth: 1
43         reference: __pet_ref_0
44         kill: 1
45 - line: 7
46   domain: '[n] -> { S_1[i] : 0 <= i < n }'
47   body:
48     type: expression
49     expr:
50       type: op
51       operation: =
52       arguments:
53       - type: access
54         index: '[n] -> { S_1[i] -> a[(i)] }'
55         reference: __pet_ref_1
56         read: 0
57         write: 1
58       - type: access
59         index: '[n] -> { S_1[i] -> b[(i)] }'
60         reference: __pet_ref_2
61         read: 1
62         write: 0
63 - line: 10
64   domain: '[n] -> { S_2[i] : 0 <= i < n }'
65   body:
66     type: expression
67     expr:
68       type: op
69       operation: kill
70       arguments:
71       - type: access
72         killed: '[n] -> { S_2[i] -> b_0[o0, o1] : 0 <= o0 < n and 0 <= o1 < n }'
73         index: '[n] -> { S_2[i] -> b_0[] }'
74         depth: 2
75         reference: __pet_ref_3
76         kill: 1
77 - line: 11
78   domain: '[n] -> { S_4[i] : 0 <= i < n }'
79   body:
80     type: expression
81     expr:
82       type: op
83       operation: =
84       arguments:
85       - type: access
86         index: '[n] -> { S_4[i] -> b_0[(i), (i)] }'
87         reference: __pet_ref_4
88         read: 0
89         write: 1
90       - type: op
91         operation: +
92         arguments:
93         - type: access
94           index: '[n] -> { S_4[i] -> a[(i)] }'
95           reference: __pet_ref_5
96           read: 1
97           write: 0
98         - type: int
99           value: 1
100 - line: 12
101   domain: '[n] -> { S_5[i] : 0 <= i < n }'
102   body:
103     type: expression
104     expr:
105       type: op
106       operation: =
107       arguments:
108       - type: access
109         index: '[n] -> { S_5[i] -> a[(i)] }'
110         reference: __pet_ref_6
111         read: 0
112         write: 1
113       - type: access
114         index: '[n] -> { S_5[i] -> b_0[(i), (i)] }'
115         reference: __pet_ref_7
116         read: 1
117         write: 0
118 - line: 10
119   domain: '[n] -> { S_3[i] : 0 <= i < n }'
120   body:
121     type: expression
122     expr:
123       type: op
124       operation: kill
125       arguments:
126       - type: access
127         killed: '[n] -> { S_3[i] -> b_0[o0, o1] : 0 <= o0 < n and 0 <= o1 < n }'
128         index: '[n] -> { S_3[i] -> b_0[] }'
129         depth: 2
130         reference: __pet_ref_8
131         kill: 1
132 - line: 16
133   domain: '[n] -> { S_6[i] : 0 <= i < n }'
134   body:
135     type: expression
136     expr:
137       type: op
138       operation: =
139       arguments:
140       - type: access
141         index: '[n] -> { S_6[i] -> b[(i)] }'
142         reference: __pet_ref_9
143         read: 0
144         write: 1
145       - type: access
146         index: '[n] -> { S_6[i] -> a[(i)] }'
147         reference: __pet_ref_10
148         read: 1
149         write: 0