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