scop.c: extract out expr_collect_access
[pet.git] / tests / propagate.scop
blobb4de12626b375d34f5d85e47d98155dc0f1f0921
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: binary
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: ternary
28       arguments:
29       - type: access
30         relation: '[N] -> { S_0[i, j] -> [1] : i >= 1; S_0[0, j] -> [0] }'
31         index: '[N] -> { S_0[i, j] -> [((1) : i >= 1; (0) : i = 0)] }'
32         reference: __pet_ref_1
33         read: 1
34         write: 0
35       - type: binary
36         operation: '-'
37         arguments:
38         - type: access
39           relation: '[N] -> { S_0[i, j] -> [i] }'
40           index: '[N] -> { S_0[i, j] -> [(i)] }'
41           reference: __pet_ref_2
42           read: 1
43           write: 0
44         - type: access
45           relation: '[N] -> { S_0[i, j] -> [1] }'
46           index: '[N] -> { S_0[i, j] -> [(1)] }'
47           reference: __pet_ref_3
48           read: 1
49           write: 0
50       - type: access
51         relation: '[N] -> { S_0[i, j] -> [i] }'
52         index: '[N] -> { S_0[i, j] -> [(i)] }'
53         reference: __pet_ref_4
54         read: 1
55         write: 0
56 - line: 10
57   domain: '[N] -> { S_1[i, j] : j >= i and i >= 0 and j <= -1 + N }'
58   schedule: '[N] -> { S_1[i, j] -> [0, i, j, 1] }'
59   body:
60     type: binary
61     operation: =
62     arguments:
63     - type: access
64       relation: '[N] -> { S_1[i, j] -> a[i, j] }'
65       index: '[N] -> { S_1[i, j] -> a[(i), (j)] }'
66       reference: __pet_ref_5
67       read: 0
68       write: 1
69     - type: access
70       relation: '[N] -> { S_1[i, j] -> a[-1 + i, 0] : i >= 1; S_1[0, j] -> a[0, 0]
71         }'
72       index: '[N] -> { S_1[i, j] -> a[((-1 + i) : i >= 1; (0) : i = 0), (0)] }'
73       reference: __pet_ref_6
74       read: 1
75       write: 0