[clang-repl] [codegen] Reduce the state in TBAA. NFC for static compilation. (#98138)
[llvm-project.git] / polly / lib / External / isl / test_inputs / codegen / cloog / reservoir-mg-interp.st
blob2d6301506f28f19329774c40559ca1af8eb34392
1 domain: "[M, N, O, P, Q, R, S, T, U] -> { S8[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S12[i0, i1, i2] : i0 >= R and i0 <= -1 + O and i1 >= Q and i1 <= -1 + N and i2 >= P and i2 <= -1 + M; S5[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S10[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S6[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S1[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= M; S3[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= M; S4[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S15[i0, i1, i2] : i0 >= R and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S11[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S2[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= M; S7[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S9[i0, i1, i2] : i0 >= 1 and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M; S14[i0, i1, i2] : i0 >= R and i0 <= -1 + O and i1 >= 1 and i1 <= -1 + N and i2 >= P and i2 <= -1 + M; S13[i0, i1, i2] : i0 >= R and i0 <= -1 + O and i1 >= Q and i1 <= -1 + N and i2 >= 1 and i2 <= -1 + M }"
2 child:
3   context: "[M, N, O, P, Q, R, S, T, U] -> { [] }"
4   child:
5     sequence:
6     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S10[i0, i1, i2]; S6[i0, i1, i2]; S3[i0, i1, i2]; S1[i0, i1, i2]; S11[i0, i1, i2]; S7[i0, i1, i2] }"
7       child:
8         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S11[i0, i1, i2] -> [(i0)]; S1[i0, i1, i2] -> [(i0)]; S6[i0, i1, i2] -> [(i0)]; S10[i0, i1, i2] -> [(i0)]; S3[i0, i1, i2] -> [(i0)]; S7[i0, i1, i2] -> [(i0)] }]"
9         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
10         child:
11           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S11[i0, i1, i2] -> [(2i1)]; S1[i0, i1, i2] -> [(-3 + 2i1)]; S6[i0, i1, i2] -> [(-2 + 2i1)]; S10[i0, i1, i2] -> [(1 + 2i1)]; S3[i0, i1, i2] -> [(-1 + 2i1)]; S7[i0, i1, i2] -> [(-2 + 2i1)] }]"
12           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
13           child:
14             sequence:
15             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S10[i0, i1, i2] }"
16               child:
17                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S10[i0, i1, i2] -> [(i2)] }]"
18                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
19             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S3[i0, i1, i2] }"
20               child:
21                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S3[i0, i1, i2] -> [(i2)] }]"
22                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
23             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S6[i0, i1, i2]; S1[i0, i1, i2]; S7[i0, i1, i2] }"
24               child:
25                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S1[i0, i1, i2] -> [(i2)]; S6[i0, i1, i2] -> [(i2)]; S7[i0, i1, i2] -> [(i2)] }]"
26                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
27                 child:
28                   sequence:
29                   - filter: "[M, N, O, P, Q, R, S, T, U] -> { S6[i0, i1, i2]; S1[i0, i1, i2] }"
30                   - filter: "[M, N, O, P, Q, R, S, T, U] -> { S7[i0, i1, i2] }"
31             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S11[i0, i1, i2] }"
32               child:
33                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S11[i0, i1, i2] -> [(i2)] }]"
34                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
35     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S2[i0, i1, i2]; S9[i0, i1, i2]; S8[i0, i1, i2] }"
36       child:
37         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S2[i0, i1, i2] -> [(i0)]; S8[i0, i1, i2] -> [(i0)]; S9[i0, i1, i2] -> [(i0)] }]"
38         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
39         child:
40           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S2[i0, i1, i2] -> [(2i1)]; S8[i0, i1, i2] -> [(2i1)]; S9[i0, i1, i2] -> [(1 + 2i1)] }]"
41           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
42           child:
43             sequence:
44             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S2[i0, i1, i2] }"
45               child:
46                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S2[i0, i1, i2] -> [(i2)] }]"
47                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
48             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S8[i0, i1, i2] }"
49               child:
50                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S8[i0, i1, i2] -> [(i2)] }]"
51                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
52             - filter: "[M, N, O, P, Q, R, S, T, U] -> { S9[i0, i1, i2] }"
53               child:
54                 schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S9[i0, i1, i2] -> [(i2)] }]"
55                 options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
56     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S4[i0, i1, i2] }"
57       child:
58         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S4[i0, i1, i2] -> [(i0)] }]"
59         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
60         child:
61           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S4[i0, i1, i2] -> [(i1)] }]"
62           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
63           child:
64             schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S4[i0, i1, i2] -> [(i2)] }]"
65             options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
66     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S5[i0, i1, i2] }"
67       child:
68         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S5[i0, i1, i2] -> [(i0)] }]"
69         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
70         child:
71           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S5[i0, i1, i2] -> [(i1)] }]"
72           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
73           child:
74             schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S5[i0, i1, i2] -> [(i2)] }]"
75             options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
76     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S12[i0, i1, i2] }"
77       child:
78         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S12[i0, i1, i2] -> [(i0)] }]"
79         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
80         child:
81           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S12[i0, i1, i2] -> [(i1)] }]"
82           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
83           child:
84             schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S12[i0, i1, i2] -> [(i2)] }]"
85             options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
86     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S13[i0, i1, i2] }"
87       child:
88         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S13[i0, i1, i2] -> [(i0)] }]"
89         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
90         child:
91           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S13[i0, i1, i2] -> [(i1)] }]"
92           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
93           child:
94             schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S13[i0, i1, i2] -> [(i2)] }]"
95             options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
96     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S14[i0, i1, i2] }"
97       child:
98         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S14[i0, i1, i2] -> [(i0)] }]"
99         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
100         child:
101           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S14[i0, i1, i2] -> [(i1)] }]"
102           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
103           child:
104             schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S14[i0, i1, i2] -> [(i2)] }]"
105             options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
106     - filter: "[M, N, O, P, Q, R, S, T, U] -> { S15[i0, i1, i2] }"
107       child:
108         schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S15[i0, i1, i2] -> [(i0)] }]"
109         options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
110         child:
111           schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S15[i0, i1, i2] -> [(i1)] }]"
112           options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"
113           child:
114             schedule: "[M, N, O, P, Q, R, S, T, U] -> [{ S15[i0, i1, i2] -> [(i2)] }]"
115             options: "[M, N, O, P, Q, R, S, T, U] -> { separate[i0] }"