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