isl_test_cpp17-generic.cc: work around std::optional::value issue in older macOS
[isl.git] / test_inputs / codegen / expansion.st
blobb7789daf5b34d48208c4688e496a939cfd7c1ab7
1 # This is a test case with an expansion node.
2 # It requires some coalescing to avoid splitting up the inner loop
3 # in the main loop nest.
4 domain: "[n] -> { G[i] : (1 + i) mod 2 = 0 and 0 <= i < n; G[i = -1 + n] : n > 0 }"
5 child:
6   schedule: "[{ G[i] -> [(i)] }]"
7   child:
8     contraction: "[n] -> { S[i] -> G[(-1 + n)] : 2*floor((i)/2) >= -2 + n; S[i] -> G[(1 + i - (i) mod 2)] : i <= -3 + n or (i = -2 + n and (1 + n) mod 2 = 0) }"
9     expansion: "[n] -> { G[j] -> S[i] : (1 + j) mod 2 = 0 and -1 + j <= i <= j and i <= -3 + n; G[j = -1 + n] -> S[i] : i < n and 2*floor((i)/2) >= -2 + n; G[j = -2 + n] -> S[i = -2 + n] : (1 + n) mod 2 = 0 }"