handle pencil independent pragmas
[pet.git] / tests / encapsulate / for_while.scop
blobf79371e6725ac872d2389aa27f93bb01ab7550d4
1 start: 83
2 end: 231
3 indent: "\t"
4 context: '[n] -> {  : n <= 2147483647 and n >= -2147483648 }'
5 arrays:
6 - context: '{  :  }'
7   extent: '[n] -> { x2[] }'
8   element_type: int
9   element_size: 4
10   declared: 1
11 - context: '{  :  }'
12   extent: '[n] -> { s[] }'
13   element_type: int
14   element_size: 4
15 statements:
16 - line: 12
17   domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }'
18   schedule: '[n] -> { S1[x1] -> [0, x1, 0] }'
19   body:
20     type: expression
21     expr:
22       type: op
23       operation: =
24       arguments:
25       - type: access
26         relation: '[n] -> { S1[x1] -> s[] }'
27         index: '[n] -> { S1[x1] -> s[] }'
28         reference: __pet_ref_0
29         read: 0
30         write: 1
31       - type: call
32         name: f
33 - line: 13
34   domain: '[n] -> { S_4[x1] : x1 <= -1 + n and x1 >= 0 }'
35   schedule: '[n] -> { S_4[x1] -> [0, x1, 1, 0] }'
36   body:
37     type: expression
38     expr:
39       type: op
40       operation: kill
41       arguments:
42       - type: access
43         relation: '[n] -> { S_4[x1] -> x2[] }'
44         index: '[n] -> { S_4[x1] -> x2[] }'
45         reference: __pet_ref_1
46         read: 0
47         write: 0
48 - line: 13
49   domain: '[n] -> { S_3[x1] : x1 <= -1 + n and x1 >= 0 }'
50   schedule: '[n] -> { S_3[x1] -> [0, x1, 1, 1] }'
51   body:
52     type: for
53     declared: 1
54     variable:
55       type: access
56       relation: '[n] -> { S_3[x1] -> x2[] }'
57       index: '[n] -> { S_3[x1] -> x2[] }'
58       reference: __pet_ref_2
59       read: 0
60       write: 1
61     initialization:
62       type: int
63       value: 0
64     condition:
65       type: call
66       name: P
67       arguments:
68       - type: access
69         relation: '[n] -> { S_3[x1] -> [x1] }'
70         index: '[n] -> { S_3[x1] -> [(x1)] }'
71         reference: __pet_ref_3
72         read: 1
73         write: 0
74       - type: access
75         relation: '[n] -> { S_3[x1] -> x2[] }'
76         index: '[n] -> { S_3[x1] -> x2[] }'
77         reference: __pet_ref_4
78         read: 1
79         write: 0
80     increment:
81       type: int
82       value: 1
83     body:
84       type: block
85       block: 1
86       children:
87       - type: expression
88         expr:
89           type: op
90           operation: =
91           arguments:
92           - type: access
93             relation: '[n] -> { S_3[x1] -> s[] }'
94             index: '[n] -> { S_3[x1] -> s[] }'
95             reference: __pet_ref_5
96             read: 0
97             write: 1
98           - type: call
99             name: g
100             arguments:
101             - type: access
102               relation: '[n] -> { S_3[x1] -> s[] }'
103               index: '[n] -> { S_3[x1] -> s[] }'
104               reference: __pet_ref_6
105               read: 1
106               write: 0
107 - line: 13
108   domain: '[n] -> { S_5[x1] : x1 <= -1 + n and x1 >= 0 }'
109   schedule: '[n] -> { S_5[x1] -> [0, x1, 1, 2] }'
110   body:
111     type: expression
112     expr:
113       type: op
114       operation: kill
115       arguments:
116       - type: access
117         relation: '[n] -> { S_5[x1] -> x2[] }'
118         index: '[n] -> { S_5[x1] -> x2[] }'
119         reference: __pet_ref_7
120         read: 0
121         write: 0
122 - line: 16
123   domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }'
124   schedule: '[n] -> { R[x1] -> [0, x1, 2] }'
125   body:
126     type: expression
127     expr:
128       type: call
129       name: h
130       arguments:
131       - type: access
132         relation: '[n] -> { R[x1] -> s[] }'
133         index: '[n] -> { R[x1] -> s[] }'
134         reference: __pet_ref_8
135         read: 1
136         write: 0