export pet_expr_extract_affine
[pet.git] / tests / propagate.scop
blob311b37874344052f2807487c79bb19fe31738ce8
1 start: 66
2 end: 204
3 context: '[N] -> {  : N <= 2147483647 and N >= 0 }'
4 arrays:
5 - context: '[N] -> {  : N >= 0 }'
6   extent: '[N] -> { a[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }'
7   element_type: int
8   element_size: 4
9 - context: '{  :  }'
10   extent: '[N] -> { ind[] }'
11   element_type: int
12   element_size: 4
13 statements:
14 - line: 9
15   domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }'
16   schedule: '[N] -> { S_0[i, j] -> [0, i, j, 0] }'
17   body:
18     type: op
19     operation: =
20     arguments:
21     - type: access
22       relation: '[N] -> { S_0[i, j] -> ind[] }'
23       index: '[N] -> { S_0[i, j] -> ind[] }'
24       reference: __pet_ref_0
25       read: 0
26       write: 1
27     - type: op
28       operation: '?:'
29       arguments:
30       - type: op
31         operation: '>'
32         arguments:
33         - type: access
34           relation: '[N] -> { S_0[i, j] -> [i] }'
35           index: '[N] -> { S_0[i, j] -> [(i)] }'
36           reference: __pet_ref_1
37           read: 1
38           write: 0
39         - type: int
40           value: 0
41       - type: op
42         operation: '-'
43         arguments:
44         - type: access
45           relation: '[N] -> { S_0[i, j] -> [i] }'
46           index: '[N] -> { S_0[i, j] -> [(i)] }'
47           reference: __pet_ref_2
48           read: 1
49           write: 0
50         - type: int
51           value: 1
52       - type: access
53         relation: '[N] -> { S_0[i, j] -> [i] }'
54         index: '[N] -> { S_0[i, j] -> [(i)] }'
55         reference: __pet_ref_3
56         read: 1
57         write: 0
58 - line: 10
59   domain: '[N] -> { S_1[i, j] : j >= i and i >= 0 and j <= -1 + N }'
60   schedule: '[N] -> { S_1[i, j] -> [0, i, j, 1] }'
61   body:
62     type: op
63     operation: =
64     arguments:
65     - type: access
66       relation: '[N] -> { S_1[i, j] -> a[i, j] }'
67       index: '[N] -> { S_1[i, j] -> a[(i), (j)] }'
68       reference: __pet_ref_4
69       read: 0
70       write: 1
71     - type: access
72       relation: '[N] -> { S_1[i, j] -> a[-1 + i, 0] : i >= 1; S_1[0, j] -> a[0, 0]
73         }'
74       index: '[N] -> { S_1[i, j] -> a[((-1 + i) : i >= 1; (0) : i = 0), (0)] }'
75       reference: __pet_ref_5
76       read: 1
77       write: 0