diff options
Diffstat (limited to 'polly/lib/External/isl/test_inputs/codegen/cloog/reservoir-liu-zhuge1.c')
| -rw-r--r-- | polly/lib/External/isl/test_inputs/codegen/cloog/reservoir-liu-zhuge1.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/reservoir-liu-zhuge1.c b/polly/lib/External/isl/test_inputs/codegen/cloog/reservoir-liu-zhuge1.c index f9e59c1c873..84f6a2553f8 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/reservoir-liu-zhuge1.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/reservoir-liu-zhuge1.c @@ -1,17 +1,19 @@ if (M >= 0 && N >= 0) for (int c0 = -4; c0 <= 3 * M + N; c0 += 1) { - if (c0 >= 0 && 3 * M + 1 >= c0 && (c0 + 1) % 3 >= 1 && N + 1 >= (c0 + 1) % 3) - S2((c0 + 3) / 3 - 1, c0 % 3); - for (int c1 = max(-3 * M + c0 - 2, (c0 + 4) % 3); c1 <= min(min(N - 2, c0 - 2), -3 * M + c0 + 3); c1 += 3) - S2((c0 - c1 - 2) / 3, c1 + 2); - for (int c1 = max(-3 * M + c0 + 4, (c0 + 4) % 3); c1 < min(N - 1, c0 - 1); c1 += 3) { - S1((c0 - c1 + 4) / 3, c1); - S2((c0 - c1 - 2) / 3, c1 + 2); + if (c0 >= 3 * M) { + S2(M, -3 * M + c0); + } else if (3 * M >= c0 + 4 && (c0 + 1) % 3 == 0) { + S1((c0 + 4) / 3, 0); + } + for (int c1 = max(-3 * M + c0 + 3, (c0 + 6) % 3); c1 <= min(N - 1, c0); c1 += 3) { + S2((c0 - c1) / 3, c1); + S1(((c0 - c1) / 3) + 1, c1 + 1); + } + if (3 * M + N >= c0 + 3 && c0 >= N && (N - c0) % 3 == 0) { + S2((-N + c0) / 3, N); + } else if (N >= c0 + 4 && c0 >= -3) { + S1(0, c0 + 4); } - if (3 * M + N >= c0 + 4 && c0 >= N + 1 && ((-N + c0) % 3) + N >= 2 && (-N + c0) % 3 >= 1) - S1((-N + c0 - 1) / 3 + 2, ((-N + c0 - 1) % 3) + N - 1); - for (int c1 = max(max(c0 + 1, -3 * M + c0 + 4), (c0 + 4) % 3); c1 <= min(N, c0 + 4); c1 += 3) - S1((c0 - c1 + 4) / 3, c1); for (int c1 = max(-3 * M + c0, (c0 + 6) % 3); c1 <= min(N, c0); c1 += 3) S3((c0 - c1) / 3, c1); } |

