diff --git a/polly/www/example_manual_matmul.html b/polly/www/example_manual_matmul.html index b94e27ea3c42..bc404f5d80a0 100644 --- a/polly/www/example_manual_matmul.html +++ b/polly/www/example_manual_matmul.html @@ -22,9 +22,9 @@ which analysis is performed or what transformation is applied. In this example the polyhedral transformation is user-provided to show how much performance improvement can be expected by an optimal automatic optimizer.

-The files used and created in this example are available here. They can be created automatically by running -the runall.sh script. +The files used and created in this example are available in the Polly checkout +in the folder www/experiments/matmul. They can be created automatically +by running the www/experiments/matmul/runall.sh script.
  1. Create LLVM-IR from the C code

    @@ -57,7 +57,7 @@ the LLVM-IR into this form we use a set of canonicalication passes. For this example only three passes are necessary. To get good coverage on more complicated input files often more canonicalization passes are needed. pollycc contains a list of passes that have shown to be beneficial. -
    opt -S -mem2reg -loop-simplify -indvars matmul.s > matmul.preopt.ll
  2. +
    opt -S -mem2reg -loop-simplify -polly-indvars matmul.s > matmul.preopt.ll
  3. Show the SCoPs detected by Polly (optional)

    @@ -232,9 +232,8 @@ changed. These changed schedules are used to descripe transformations. It is possible to import different jscop files by providing the postfix of the jscop file that is imported.

    We apply three different transformations on the SCoP in the main function. -The jscop files describing these transformations are hand written. If PoCC is -installed Polly can sometimes calculate such schedules fully automatically. -Hwever, this is still an area we are actively working on.

    +The jscop files describing these transformations are hand written (and available +in www/experiments/matmul).
    No Polly
    diff --git a/polly/www/experiments/matmul/main___%1---%17.jscop b/polly/www/experiments/matmul/main___%1---%17.jscop index a3692e528293..c37839525add 100644 --- a/polly/www/experiments/matmul/main___%1---%17.jscop +++ b/polly/www/experiments/matmul/main___%1---%17.jscop @@ -1,5 +1,5 @@ { - "context" : "{ [] }", + "context" : "{ : }", "name" : "%1 => %17", "statements" : [ { diff --git a/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged b/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged index d992fe949aa8..1d73c8a9fdf2 100644 --- a/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged +++ b/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged @@ -6,7 +6,7 @@ "accesses" : [ { "kind" : "write", - "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1536i0 + i1] }" } ], "domain" : "{ Stmt_4[i0, i1] : i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023 }", @@ -17,19 +17,19 @@ "accesses" : [ { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }" }, { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1037i0 + i2] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }" }, { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1047i2] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }" }, { "kind" : "write", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }" } ], "domain" : "{ Stmt_6[i0, i1, i2] : i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 1023 }", diff --git a/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled b/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled index 29fcca55f3f7..ab68b5ebda22 100644 --- a/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled +++ b/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled @@ -6,7 +6,7 @@ "accesses" : [ { "kind" : "write", - "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1536i0 + i1] }" } ], "domain" : "{ Stmt_4[i0, i1] : i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023 }", @@ -17,19 +17,19 @@ "accesses" : [ { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }" }, { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1037i0 + i2] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }" }, { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1047i2] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }" }, { "kind" : "write", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }" } ], "domain" : "{ Stmt_6[i0, i1, i2] : i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 1023 }", diff --git a/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector b/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector index 62a444d0b8ad..67a1cd9c3f00 100644 --- a/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector +++ b/polly/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector @@ -6,7 +6,7 @@ "accesses" : [ { "kind" : "write", - "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1536i0 + i1] }" } ], "domain" : "{ Stmt_4[i0, i1] : i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023 }", @@ -17,19 +17,19 @@ "accesses" : [ { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }" }, { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1037i0 + i2] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }" }, { "kind" : "read", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1047i2] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }" }, { "kind" : "write", - "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1067i0 + i1] }" + "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }" } ], "domain" : "{ Stmt_6[i0, i1, i2] : i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 1023 }", diff --git a/polly/www/experiments/matmul/runall.sh b/polly/www/experiments/matmul/runall.sh index 613db1c41234..7ce0e8f0b092 100755 --- a/polly/www/experiments/matmul/runall.sh +++ b/polly/www/experiments/matmul/runall.sh @@ -8,7 +8,7 @@ export PATH_TO_POLLY_LIB="~/polly/build/lib/" alias opt="opt -load ${PATH_TO_POLLY_LIB}/LLVMPolly.so" echo "--> 3. Prepare the LLVM-IR for Polly" -opt -S -mem2reg -loop-simplify -indvars matmul.s > matmul.preopt.ll +opt -S -mem2reg -loop-simplify -polly-indvars matmul.s > matmul.preopt.ll echo "--> 4. Show the SCoPs detected by Polly" opt -basicaa -polly-cloog -analyze -q matmul.preopt.ll