diff options
Diffstat (limited to 'cloog-core/test/vasilache.cloog')
-rw-r--r-- | cloog-core/test/vasilache.cloog | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/cloog-core/test/vasilache.cloog b/cloog-core/test/vasilache.cloog new file mode 100644 index 0000000..29f9598 --- /dev/null +++ b/cloog-core/test/vasilache.cloog @@ -0,0 +1,248 @@ +# A SCoP from matmul (matmul.B.main.scop1.cloog) to check normalization +# +# Options: +# cloog -f 8 -l 9 vasilache.cloog +# +# Correct: +# S1; +# S2; +# for (p0=0;p0<=N-1;p0++) { +# for (p1=0;p1<=N-1;p1++) { +# S4(i = p0,j = p1); +# S5(i = p0,j = p1); +# } +# } +# for (p0=0;p0<=N-1;p0++) { +# for (p1=0;p1<=N-1;p1++) { +# for (p2=0;p2<=floord(N-1,32);p2++) { +# S7(i = p0,j = p1,k = p2,l = 32*p2); +# for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) { +# S6(i = p0,j = p1,k = p2,l = p3-1); +# S7(i = p0,j = p1,k = p2,l = p3); +# } +# if (p2 >= ceild(N-32,32)) { +# S6(i = p0,j = p1,k = p2,l = N-1); +# } +# if (p2 <= floord(N-33,32)) { +# S6(i = p0,j = p1,k = p2,l = 32*p2+31); +# } +# } +# } +# } +# S8; +# +# +# NOT correct: +# S1 ; +# S2 ; +# for (p1=0;p1<=N-1;p1++) { +# for (p3=0;p3<=N-1;p3++) { +# S4(i = p1,j = p3) ; +# S5(i = p1,j = p3) ; +# } +# } +# for (p1=0;p1<=N-1;p1++) { +# for (p3=0;p3<=N-1;p3++) { +# for (p5=0;p5<=floord(N-1,32);p5++) { +# if (p5 <= 0) { +# S7(i = p1,j = p3,k = p5,l = 0) ; +# } +# p7 = 32*p5 ; +# l = 32*p5 ; +# S7(i = p1,j = p3,k = p5) ; +# for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) { +# l = p7-1 ; +# S6(i = p1,j = p3,k = p5) ; +# S7(i = p1,j = p3,k = p5,l = p7) ; +# } +# if (p5 >= ceild(N-32,32)) { +# l = N-1 ; +# S6(i = p1,j = p3,k = p5) ; +# } +# p7 = 32*p5+32 ; +# l = 32*p5+31 ; +# S6(i = p1,j = p3,k = p5) ; +# } +# } +# } +# S8 ; + + + +c # language is C +# ---------- CONTEXT ---------- +# Context (constraints on parameters) +2 4 # 1 lines, 4 columns +1 -1 0 3 +1 0 1 -100 + + +0 # Automatically find parameter names + +# ---------- STATEMENTS ---------- +8 # Number of statements + +1 # Statement has a non resticted domain +1 4 +1 0 0 0 +0 0 0 + +1 # Statement has a non resticted domain +1 4 +1 0 0 0 +0 0 0 + +1 # Statement has 1 domain +1 4 +1 1 0 -79 +0 0 0 + +1 # Statement has 1 domain +4 6 +1 1 0 0 0 0 +1 -1 0 0 1 -1 +1 0 1 0 0 0 +1 0 -1 0 1 -1 +0 0 0 + +1 # Statement has 1 domain +4 6 +1 1 0 0 0 0 +1 -1 0 0 1 -1 +1 0 1 0 0 0 +1 0 -1 0 1 -1 +0 0 0 + +1 # Statement has 1 domain +8 8 +1 1 0 0 0 0 0 0 +1 -1 0 0 0 0 1 -1 +1 0 1 0 0 0 0 0 +1 0 -1 0 0 0 1 -1 +1 0 0 0 1 0 0 0 +1 0 0 0 -1 0 1 -1 +1 0 0 -32 1 0 0 0 +1 0 0 32 -1 0 0 31 +0 0 0 + +1 # Statement has 1 domain +8 8 +1 1 0 0 0 0 0 0 +1 -1 0 0 0 0 1 -1 +1 0 1 0 0 0 0 0 +1 0 -1 0 0 0 1 -1 +1 0 0 0 1 0 0 0 +1 0 0 0 -1 0 1 -1 +1 0 0 -32 1 0 0 0 +1 0 0 32 -1 0 0 31 +0 0 0 + +1 # Statement has a non resticted domain +1 4 +1 0 0 0 +0 0 0 + +0 # Automatically find iterator names. + +# ---------- SCATTERING FUNCTIONS ---------- +8 # Number of scattering functions + +9 13 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4 + +9 13 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 -1 # Beta 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4 + +9 13 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 -2 # Beta 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4 + +9 15 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 -3 # Beta 0 +0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 4 + +9 15 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 -3 # Beta 0 +0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 4 + +9 17 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 # Beta 0 +0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 -1 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 4 + +9 17 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 # Beta 0 +0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 # Beta 4 + +9 13 +# p0 p1 p2 p3 p4 p5 p6 p7 p8 +0 1 0 0 0 0 0 0 0 0 0 0 -5 # Beta 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 # Alpha & Gamma 1 +0 0 0 1 0 0 0 0 0 0 0 0 0 # Beta 1 +0 0 0 0 1 0 0 0 0 0 0 0 0 # Alpha & Gamma 2 +0 0 0 0 0 1 0 0 0 0 0 0 0 # Beta 2 +0 0 0 0 0 0 1 0 0 0 0 0 0 # Alpha & Gamma 3 +0 0 0 0 0 0 0 1 0 0 0 0 0 # Beta 3 +0 0 0 0 0 0 0 0 1 0 0 0 0 # Alpha & Gamma 4 +0 0 0 0 0 0 0 0 0 1 0 0 0 # Beta 4 + +1 # Set the scattering parameter names. +p0 p1 p2 p3 p4 p5 p6 p7 p8 + |