privately export pet_stmt_is_affine_assume
[pet.git] / tests / dec4.scop
blobdf2ddcac314da91273bb648397fd12d37cdeb8ea
1 start: 38
2 end: 112
3 indent: "\t"
4 context: '[N] -> {  : 0 <= N <= 2147483647 }'
5 schedule: '{ domain: "[N] -> { S_4[]; S_0[]; S_3[]; S_1[i] : 3*floor((-2 - N + i)/3)
6   = -2 - N + i and 0 <= i < N; S_2[i] : 3*floor((-2 - N + i)/3) = -2 - N + i and 0
7   <= i < N }", child: { sequence: [ { filter: "[N] -> { S_0[] }" }, { filter: "[N]
8   -> { S_1[i]; S_2[i] }", child: { schedule: "[N] -> L_0[{ S_1[i] -> [(-i)]; S_2[i]
9   -> [(-i)] }]", child: { sequence: [ { filter: "[N] -> { S_1[i] }" }, { filter: "[N]
10   -> { S_2[i] }" } ] } } }, { filter: "[N] -> { S_4[]; S_3[] }", child: { set: [ {
11   filter: "{ S_3[] }" }, { filter: "{ S_4[] }" } ] } } ] } }'
12 arrays:
13 - context: '[N] -> {  : N >= 0 }'
14   extent: '[N] -> { a[i0] : 0 <= i0 < N }'
15   element_type: int
16   element_size: 4
17 - context: '{  :  }'
18   extent: '[N] -> { i[] }'
19   element_type: int
20   element_size: 4
21 statements:
22 - line: 7
23   domain: '[N] -> { S_0[] }'
24   body:
25     type: expression
26     expr:
27       type: op
28       operation: =
29       arguments:
30       - type: access
31         index: '[N] -> { S_0[] -> i[] }'
32         reference: __pet_ref_0
33         read: 0
34         write: 1
35       - type: access
36         index: '[N] -> { S_0[] -> [(-1 + N)] }'
37         reference: __pet_ref_1
38         read: 1
39         write: 0
40 - line: 8
41   domain: '[N] -> { S_1[i] : 3*floor((-2 - N + i)/3) = -2 - N + i and 0 <= i < N }'
42   body:
43     type: expression
44     expr:
45       type: op
46       operation: =
47       arguments:
48       - type: access
49         index: '[N] -> { S_1[i] -> a[(i)] }'
50         reference: __pet_ref_2
51         read: 0
52         write: 1
53       - type: access
54         index: '[N] -> { S_1[i] -> [(i)] }'
55         reference: __pet_ref_3
56         read: 1
57         write: 0
58 - line: 7
59   domain: '[N] -> { S_2[i] : 3*floor((-2 - N + i)/3) = -2 - N + i and 0 <= i < N }'
60   body:
61     type: expression
62     expr:
63       type: op
64       operation: =
65       arguments:
66       - type: access
67         index: '[N] -> { S_2[i] -> i[] }'
68         reference: __pet_ref_4
69         read: 0
70         write: 1
71       - type: access
72         index: '[N] -> { S_2[i] -> [(-3 + i)] }'
73         reference: __pet_ref_5
74         read: 1
75         write: 0
76 - line: -1
77   domain: '[N] -> { S_3[] }'
78   body:
79     type: expression
80     expr:
81       type: op
82       operation: kill
83       arguments:
84       - type: access
85         killed: '[N] -> { S_3[] -> i[] }'
86         index: '[N] -> { S_3[] -> i[] }'
87         reference: __pet_ref_6
88         kill: 1
89 - line: -1
90   domain: '[N] -> { S_4[] }'
91   body:
92     type: expression
93     expr:
94       type: op
95       operation: kill
96       arguments:
97       - type: access
98         killed: '[N] -> { S_4[] -> a[o0] : 0 <= o0 < N }'
99         index: '[N] -> { S_4[] -> a[] }'
100         depth: 1
101         reference: __pet_ref_7
102         kill: 1