xref: /netbsd-src/external/mit/isl/dist/test_inputs/codegen/cloog/vasilache.st (revision 5971e316fdea024efff6be8f03536623db06833e)
1*5971e316Smrgdomain: "[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*5971e316Smrgchild:
3*5971e316Smrg  context: "[M, N] -> { [] : M <= 3 and N >= 100 }"
4*5971e316Smrg  child:
5*5971e316Smrg    sequence:
6*5971e316Smrg    - filter: "[M, N] -> { S1[] }"
7*5971e316Smrg    - filter: "[M, N] -> { S2[] }"
8*5971e316Smrg    - filter: "[M, N] -> { S3[] }"
9*5971e316Smrg    - filter: "[M, N] -> { S5[i0, i1]; S4[i0, i1] }"
10*5971e316Smrg      child:
11*5971e316Smrg        schedule: "[M, N] -> [{ S5[i0, i1] -> [(i0)]; S4[i0, i1] -> [(i0)] }]"
12*5971e316Smrg        options: "[M, N] -> { separate[i0] }"
13*5971e316Smrg        child:
14*5971e316Smrg          schedule: "[M, N] -> [{ S5[i0, i1] -> [(i1)]; S4[i0, i1] -> [(i1)] }]"
15*5971e316Smrg          options: "[M, N] -> { separate[i0] }"
16*5971e316Smrg          child:
17*5971e316Smrg            sequence:
18*5971e316Smrg            - filter: "[M, N] -> { S4[i0, i1] }"
19*5971e316Smrg            - filter: "[M, N] -> { S5[i0, i1] }"
20*5971e316Smrg    - filter: "[M, N] -> { S7[i0, i1, i2, i3]; S6[i0, i1, i2, i3] }"
21*5971e316Smrg      child:
22*5971e316Smrg        schedule: "[M, N] -> [{ S7[i0, i1, i2, i3] -> [(i0)]; S6[i0, i1, i2, i3] -> [(i0)] }]"
23*5971e316Smrg        options: "[M, N] -> { separate[i0] }"
24*5971e316Smrg        child:
25*5971e316Smrg          schedule: "[M, N] -> [{ S7[i0, i1, i2, i3] -> [(i1)]; S6[i0, i1, i2, i3] -> [(i1)] }]"
26*5971e316Smrg          options: "[M, N] -> { separate[i0] }"
27*5971e316Smrg          child:
28*5971e316Smrg            schedule: "[M, N] -> [{ S7[i0, i1, i2, i3] -> [(i2)]; S6[i0, i1, i2, i3] -> [(i2)] }]"
29*5971e316Smrg            options: "[M, N] -> { separate[i0] }"
30*5971e316Smrg            child:
31*5971e316Smrg              schedule: "[M, N] -> [{ S7[i0, i1, i2, i3] -> [(i3)]; S6[i0, i1, i2, i3] -> [(1 + i3)] }]"
32*5971e316Smrg              options: "[M, N] -> { separate[i0] }"
33*5971e316Smrg              child:
34*5971e316Smrg                sequence:
35*5971e316Smrg                - filter: "[M, N] -> { S6[i0, i1, i2, i3] }"
36*5971e316Smrg                - filter: "[M, N] -> { S7[i0, i1, i2, i3] }"
37*5971e316Smrg    - filter: "[M, N] -> { S8[] }"
38