export pet_expr_new_cast
[pet.git] / tests / propagate.scop
blobbe356431a53f5b4b09b87fc45d1ce363f4f20121
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         index: '[N] -> { S_0[i, j] -> ind[] }'
26         reference: __pet_ref_0
27         read: 0
28         write: 1
29       - type: op
30         operation: '?:'
31         arguments:
32         - type: op
33           operation: '>'
34           arguments:
35           - type: access
36             index: '[N] -> { S_0[i, j] -> [(i)] }'
37             reference: __pet_ref_1
38             read: 1
39             write: 0
40           - type: int
41             value: 0
42         - type: op
43           operation: '-'
44           arguments:
45           - type: access
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           index: '[N] -> { S_0[i, j] -> [(i)] }'
54           reference: __pet_ref_3
55           read: 1
56           write: 0
57 - line: 10
58   domain: '[N] -> { S_1[i, j] : j >= i and i >= 0 and j <= -1 + N }'
59   schedule: '[N] -> { S_1[i, j] -> [0, i, j, 1] }'
60   body:
61     type: expression
62     expr:
63       type: op
64       operation: =
65       arguments:
66       - type: access
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         index: '[N] -> { S_1[i, j] -> a[((-1 + i) : i >= 1; (0) : i = 0), (0)] }'
73         reference: __pet_ref_5
74         read: 1
75         write: 0