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