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