add isl_basic_set_variable_compression_with_id
[isl.git] / test_inputs / codegen / cloog / reservoir-QR.st
blob8be6a039a1e9c939f9a63ad265dbd2044b9b9168
1 domain: "[M, N] -> { S5[i0] : i0 >= 0 and i0 <= -1 + N; S1[i0] : i0 >= 0 and i0 <= -1 + N; S3[i0] : i0 >= 0 and i0 <= -1 + N; S2[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= i0 and i1 <= -1 + M; S6[i0, i1] : i0 >= 0 and i1 >= 1 + i0 and i1 <= -1 + N; S9[i0, i1, i2] : i0 >= 0 and i1 >= 1 + i0 and i1 <= -1 + N and i2 >= i0 and i2 <= -1 + M; S4[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= i0 and i1 <= -1 + M; S8[i0, i1] : i0 >= 0 and i1 >= 1 + i0 and i1 <= -1 + N; S10[i0] : i0 >= 0 and i0 <= -1 + N; S7[i0, i1, i2] : i0 >= 0 and i1 >= 1 + i0 and i1 <= -1 + N and i2 >= i0 and i2 <= -1 + M }"
2 child:
3   context: "[M, N] -> { [] }"
4   child:
5     schedule: "[M, N] -> [{ S3[i0] -> [(1 + i0)]; S10[i0] -> [(1 + i0)]; S5[i0] -> [(1 + i0)]; S7[i0, i1, i2] -> [(2 + i0)]; S9[i0, i1, i2] -> [(2 + i0)]; S2[i0, i1] -> [(1 + i0)]; S4[i0, i1] -> [(1 + i0)]; S8[i0, i1] -> [(2 + i0)]; S1[i0] -> [(i0)]; S6[i0, i1] -> [(2 + i0)] }]"
6     options: "[M, N] -> { separate[i0] }"
7     child:
8       sequence:
9       - filter: "[M, N] -> { S6[i0, i1]; S9[i0, i1, i2]; S8[i0, i1]; S7[i0, i1, i2] }"
10         child:
11           schedule: "[M, N] -> [{ S7[i0, i1, i2] -> [(i1)]; S9[i0, i1, i2] -> [(i1)]; S8[i0, i1] -> [(i1)]; S6[i0, i1] -> [(i1)] }]"
12           options: "[M, N] -> { separate[i0] }"
13           child:
14             sequence:
15             - filter: "[M, N] -> { S6[i0, i1] }"
16             - filter: "[M, N] -> { S7[i0, i1, i2] }"
17               child:
18                 schedule: "[M, N] -> [{ S7[i0, i1, i2] -> [(i2)] }]"
19                 options: "[M, N] -> { separate[i0] }"
20             - filter: "[M, N] -> { S8[i0, i1] }"
21             - filter: "[M, N] -> { S9[i0, i1, i2] }"
22               child:
23                 schedule: "[M, N] -> [{ S9[i0, i1, i2] -> [(i2)] }]"
24                 options: "[M, N] -> { separate[i0] }"
25       - filter: "[M, N] -> { S2[i0, i1] }"
26         child:
27           schedule: "[M, N] -> [{ S2[i0, i1] -> [(i1)] }]"
28           options: "[M, N] -> { separate[i0] }"
29       - filter: "[M, N] -> { S3[i0] }"
30       - filter: "[M, N] -> { S4[i0, i1] }"
31         child:
32           schedule: "[M, N] -> [{ S4[i0, i1] -> [(i1)] }]"
33           options: "[M, N] -> { separate[i0] }"
34       - filter: "[M, N] -> { S10[i0] }"
35       - filter: "[M, N] -> { S1[i0] }"
36       - filter: "[M, N] -> { S5[i0] }"