[llvm-branch-commits] [polly] r183376 - Update matmul example to the latest polly version

Tobias Grosser grosser at fim.uni-passau.de
Wed Jun 5 19:49:04 PDT 2013


Author: grosser
Date: Wed Jun  5 21:48:13 2013
New Revision: 183376

URL: http://llvm.org/viewvc/llvm-project?rev=183376&view=rev
Log:
Update matmul example to the latest polly version

As the namings of the scops have changed, polly was not able to read in the user
given .jscop files. By renaming the provided files, polly now finds them again
and can use them to optimize the matmul function. We also update the generated
files to reflect the very latest version of Polly.

Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182265

Added:
    polly/branches/release_33/www/experiments/matmul/init_array___%for.cond---%for.end19.jscop
    polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop
    polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop.interchanged
      - copied, changed from r183375, polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged
    polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop.interchanged+tiled
      - copied, changed from r183375, polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled
    polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop.interchanged+tiled+vector
      - copied, changed from r183375, polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector
Removed:
    polly/branches/release_33/www/experiments/matmul/init_array___%1---%19.jscop
    polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop
    polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged
    polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled
    polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector
Modified:
    polly/branches/release_33/www/example_manual_matmul.html
    polly/branches/release_33/www/experiments/matmul/matmul.normalopt.exe
    polly/branches/release_33/www/experiments/matmul/matmul.normalopt.ll
    polly/branches/release_33/www/experiments/matmul/matmul.normalopt.s
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.exe
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.ll
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.s
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.exe
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.ll
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.s
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.exe
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.ll
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.s
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.exe
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.ll
    polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.s
    polly/branches/release_33/www/experiments/matmul/matmul.preopt.ll
    polly/branches/release_33/www/experiments/matmul/matmul.s
    polly/branches/release_33/www/experiments/matmul/scops.init_array.dot
    polly/branches/release_33/www/experiments/matmul/scops.init_array.dot.png
    polly/branches/release_33/www/experiments/matmul/scops.main.dot
    polly/branches/release_33/www/experiments/matmul/scops.main.dot.png
    polly/branches/release_33/www/experiments/matmul/scops.print_array.dot
    polly/branches/release_33/www/experiments/matmul/scops.print_array.dot.png
    polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot
    polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot.png
    polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot
    polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot.png
    polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot
    polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot.png

Modified: polly/branches/release_33/www/example_manual_matmul.html
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/example_manual_matmul.html?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/example_manual_matmul.html (original)
+++ polly/branches/release_33/www/example_manual_matmul.html Wed Jun  5 21:48:13 2013
@@ -110,7 +110,7 @@ view-scops-only:
 <pre>
 [...]
 Printing analysis 'Polly - Create polyhedral description of Scops' for region:
-'%1 => %17' in function 'init_array':
+'for.cond => for.end19' in function 'init_array':
    Context:
    { [] }
    Statements {
@@ -135,7 +135,7 @@ Printing analysis 'Polly - Create polyhe
    }
 [...]
 Printing analysis 'Polly - Create polyhedral description of Scops' for region:
-'%1 => %17' in function 'main':
+'for.cond => for.end30' in function 'main':
    Context:
    { [] }
    Statements {
@@ -178,7 +178,7 @@ Printing analysis 'Polly - Create polyhe
 <li><h4>Show the dependences for the SCoPs</h4>
 <pre class="code">opt -basicaa -polly-dependences -analyze matmul.preopt.ll</pre>
 <pre>Printing analysis 'Polly - Calculate dependences for SCoP' for region:
-'for.cond => for.end28' in function 'init_array':
+'for.cond => for.end19' in function 'init_array':
    Must dependences:
        {  }
    May dependences:
@@ -188,7 +188,7 @@ Printing analysis 'Polly - Create polyhe
    May no source:
        {  }
 Printing analysis 'Polly - Calculate dependences for SCoP' for region:
-'for.cond => for.end48' in function 'main':
+'for.cond => for.end30' in function 'main':
    Must dependences:
        {  Stmt_4[i0, i1] -> Stmt_6[i0, i1, 0] :
               i0 >= 0 and i0 <= 1023 and i1 >= 0 and i1 <= 1023;
@@ -221,8 +221,8 @@ Printing analysis 'Polly - Calculate dep
 Polly can export the polyhedral representation in so called jscop files. Jscop
 files contain the polyhedral representation stored in a JSON file.
 <pre class="code">opt -basicaa -polly-export-jscop matmul.preopt.ll</pre>
-<pre>Writing SCoP 'for.cond => for.end28' in function 'init_array' to './init_array___%for.cond---%for.end28.jscop'.
-Writing SCoP 'for.cond => for.end48' in function 'main' to './main___%for.cond---%for.end48.jscop'.
+<pre>Writing SCoP 'for.cond => for.end19' in function 'init_array' to './init_array___%for.cond---%for.end19.jscop'.
+Writing SCoP 'for.cond => for.end30' in function 'main' to './main___%for.cond---%for.end30.jscop'.
 </pre></li>
 
 <li><h4>Import the changed jscop files and print the updated SCoP structure
@@ -268,7 +268,7 @@ opt matmul.preopt.ll -basicaa \
 </pre>
 <pre>
 [...]
-Reading JScop '%1 => %17' in function 'main' from './main___%1---%17.jscop.interchanged'.
+Reading JScop 'for.cond => for.end30' in function 'main' from './main___%for.cond---%for.end30.jscop.interchanged+tiled'.
 [...]
 main():
 for (c2=0;c2<=1535;c2++) {
@@ -295,7 +295,7 @@ opt matmul.preopt.ll -basicaa \
 </pre>
 <pre>
 [...]
-Reading JScop '%1 => %17' in function 'main' from './main___%1---%17.jscop.interchanged+tiled'.
+Reading JScop 'for.cond => for.end30' in function 'main' from './main___%for.cond---%for.end30.jscop.interchanged+tiled'.
 [...]
 main():
 for (c2=0;c2<=1535;c2++) {
@@ -329,7 +329,7 @@ opt matmul.preopt.ll -basicaa \
 
 <pre>
 [...]
-Reading JScop '%1 => %17' in function 'main' from './main___%1---%17.jscop.interchanged+tiled+vector'.
+Reading JScop 'for.cond => for.end30' in function 'main' from './main___%for.cond---%for.end30.jscop.interchanged+tiled+vector'.
 [...]
 main():
 for (c2=0;c2<=1535;c2++) {
@@ -369,11 +369,11 @@ opt -basicaa \
     -polly-codegen matmul.preopt.ll \
    | opt -O3 > matmul.polly.interchanged.ll</pre>
 <pre>
-Reading JScop '%1 => %19' in function 'init_array' from
-    './init_array___%1---%19.jscop.interchanged'.
+Reading JScop 'for.cond => for.end19' in function 'init_array' from
+    './init_array___%for.cond---%for.end19.jscop.interchanged'.
 File could not be read: No such file or directory
-Reading JScop '%1 => %17' in function 'main' from
-    './main___%1---%17.jscop.interchanged'.
+Reading JScop 'for.cond => for.end30' in function 'main' from
+    './main___%for.cond---%for.end30.jscop.interchanged'.
 </pre>
 <pre class="code">
 opt -basicaa \
@@ -381,11 +381,11 @@ opt -basicaa \
     -polly-codegen matmul.preopt.ll \
    | opt -O3 > matmul.polly.interchanged+tiled.ll</pre>
 <pre>
-Reading JScop '%1 => %19' in function 'init_array' from
-    './init_array___%1---%19.jscop.interchanged+tiled'.
+Reading JScop 'for.cond => for.end19' in function 'init_array' from
+    './init_array___%for.cond---%for.end19.jscop.interchanged+tiled'.
 File could not be read: No such file or directory
-Reading JScop '%1 => %17' in function 'main' from
-    './main___%1---%17.jscop.interchanged+tiled'.
+Reading JScop 'for.cond => for.end30' in function 'main' from
+    './main___%for.cond---%for.end30.jscop.interchanged+tiled'.
 </pre>
 <pre class="code">
 opt -basicaa \
@@ -393,11 +393,11 @@ opt -basicaa \
     -polly-codegen -polly-vectorizer=polly matmul.preopt.ll \
    | opt -O3 > matmul.polly.interchanged+tiled+vector.ll</pre>
 <pre>
-Reading JScop '%1 => %19' in function 'init_array' from
-    './init_array___%1---%19.jscop.interchanged+tiled+vector'.
+Reading JScop 'for.cond => for.end19' in function 'init_array' from
+    './init_array___%for.cond---%for.end19.jscop.interchanged+tiled+vector'.
 File could not be read: No such file or directory
-Reading JScop '%1 => %17' in function 'main' from
-    './main___%1---%17.jscop.interchanged+tiled+vector'.
+Reading JScop 'for.cond => for.end30' in function 'main' from
+    './main___%for.cond---%for.end30.jscop.interchanged+tiled+vector'.
 </pre>
 <pre class="code">
 opt -basicaa \
@@ -405,11 +405,11 @@ opt -basicaa \
     -polly-codegen -polly-vectorizer=polly -enable-polly-openmp matmul.preopt.ll \
   | opt -O3 > matmul.polly.interchanged+tiled+openmp.ll</pre>
 <pre>
-Reading JScop '%1 => %19' in function 'init_array' from
-    './init_array___%1---%19.jscop.interchanged+tiled+vector'.
+Reading JScop 'for.cond => for.end19' in function 'init_array' from
+    './init_array___%for.cond---%for.end19.jscop.interchanged+tiled+vector'.
 File could not be read: No such file or directory
-Reading JScop '%1 => %17' in function 'main' from
-    './main___%1---%17.jscop.interchanged+tiled+vector'.
+Reading JScop 'for.cond => for.end30' in function 'main' from
+    './main___%for.cond---%for.end30.jscop.interchanged+tiled+vector'.
 </pre>
 
 <li><h4>Create the executables</h4>

Removed: polly/branches/release_33/www/experiments/matmul/init_array___%1---%19.jscop
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/init_array___%251---%2519.jscop?rev=183375&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/init_array___%1---%19.jscop (original)
+++ polly/branches/release_33/www/experiments/matmul/init_array___%1---%19.jscop (removed)
@@ -1,21 +0,0 @@
-{
-   "context" : "{ [] }",
-   "name" : "%1 => %19",
-   "statements" : [
-      {
-         "accesses" : [
-            {
-               "kind" : "write",
-               "relation" : "{ Stmt_5[i0, i1] -> MemRef_A[1536i0 + i1] }"
-            },
-            {
-               "kind" : "write",
-               "relation" : "{ Stmt_5[i0, i1] -> MemRef_B[1536i0 + i1] }"
-            }
-         ],
-         "domain" : "{ Stmt_5[i0, i1] : i0 >= 0 and i0 <= 1535 and i1 >= 0 and i1 <= 1535 }",
-         "name" : "Stmt_5",
-         "schedule" : "{ Stmt_5[i0, i1] -> scattering[0, i0, 0, i1, 0] }"
-      }
-   ]
-}

Added: polly/branches/release_33/www/experiments/matmul/init_array___%for.cond---%for.end19.jscop
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/init_array___%25for.cond---%25for.end19.jscop?rev=183376&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/init_array___%for.cond---%for.end19.jscop (added)
+++ polly/branches/release_33/www/experiments/matmul/init_array___%for.cond---%for.end19.jscop Wed Jun  5 21:48:13 2013
@@ -0,0 +1,21 @@
+{
+   "context" : "{  :  }",
+   "name" : "for.cond => for.end19",
+   "statements" : [
+      {
+         "accesses" : [
+            {
+               "kind" : "write",
+               "relation" : "{ Stmt_for_body3[i0, i1] -> MemRef_A[1536i0 + i1] }"
+            },
+            {
+               "kind" : "write",
+               "relation" : "{ Stmt_for_body3[i0, i1] -> MemRef_B[1536i0 + i1] }"
+            }
+         ],
+         "domain" : "{ Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= 1535 and i1 >= 0 and i1 <= 1535 }",
+         "name" : "Stmt_for_body3",
+         "schedule" : "{ Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0] }"
+      }
+   ]
+}

Removed: polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop?rev=183375&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop (original)
+++ polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop (removed)
@@ -1,40 +0,0 @@
-{
-   "context" : "{  :  }",
-   "name" : "%1 => %17",
-   "statements" : [
-      {
-         "accesses" : [
-            {
-               "kind" : "write",
-               "relation" : "{ Stmt_4[i0, i1] -> MemRef_C[1536i0 + i1] }"
-            }
-         ],
-         "domain" : "{ Stmt_4[i0, i1] : i0 >= 0 and i0 <= 1535 and i1 >= 0 and i1 <= 1535 }",
-         "name" : "Stmt_4",
-         "schedule" : "{ Stmt_4[i0, i1] -> scattering[0, i0, 0, i1, 0, 0, 0] }"
-      },
-      {
-         "accesses" : [
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }"
-            },
-            {
-               "kind" : "write",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
-            }
-         ],
-         "domain" : "{ Stmt_6[i0, i1, i2] : i0 >= 0 and i0 <= 1535 and i1 >= 0 and i1 <= 1535 and i2 >= 0 and i2 <= 1535 }",
-         "name" : "Stmt_6",
-         "schedule" : "{ Stmt_6[i0, i1, i2] -> scattering[0, i0, 0, i1, 1, i2, 0] }"
-      }
-   ]
-}

Removed: polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop.interchanged?rev=183375&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged (original)
+++ polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged (removed)
@@ -1,40 +0,0 @@
-{
-   "context" : "{ [] }",
-   "name" : "%1 => %17",
-   "statements" : [
-      {
-         "accesses" : [
-            {
-               "kind" : "write",
-               "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 }",
-         "name" : "Stmt_4",
-         "schedule" : "{ Stmt_4[i0, i1] -> scattering[0, i0, 0, i1, 0, 0, 0] }"
-      },
-      {
-         "accesses" : [
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }"
-            },
-            {
-               "kind" : "write",
-               "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 }",
-         "name" : "Stmt_6",
-         "schedule" : "{ Stmt_6[i0, i1, i2] -> scattering[1, i0, 0, i2, 0, i1, 0] }"
-      }
-   ]
-}

Removed: polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop.interchanged%2Btiled?rev=183375&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled (original)
+++ polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled (removed)
@@ -1,40 +0,0 @@
-{
-   "context" : "{ [] }",
-   "name" : "%1 => %17",
-   "statements" : [
-      {
-         "accesses" : [
-            {
-               "kind" : "write",
-               "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 }",
-         "name" : "Stmt_4",
-         "schedule" : "{ Stmt_4[i0, i1] -> scattering[0, i0, 0, i1, 0, 0, 0] }"
-      },
-      {
-         "accesses" : [
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }"
-            },
-            {
-               "kind" : "write",
-               "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 }",
-         "name" : "Stmt_6",
-         "schedule" : "{ Stmt_6[i0, i1, i2] -> scattering[1, o0, o1, o2, i0, i2, i1]: o0 <= i0 < o0 + 64 and o1 <= i1 < o1 + 64 and o2 <= i2 < o2 + 64 and o0 % 64 = 0 and o1 % 64 = 0 and o2 % 64 = 0 }"
-      }
-   ]
-}

Removed: polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop.interchanged%2Btiled%2Bvector?rev=183375&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector (original)
+++ polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector (removed)
@@ -1,40 +0,0 @@
-{
-   "context" : "{ [] }",
-   "name" : "%1 => %17",
-   "statements" : [
-      {
-         "accesses" : [
-            {
-               "kind" : "write",
-               "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 }",
-         "name" : "Stmt_4",
-         "schedule" : "{ Stmt_4[i0, i1] -> scattering[0, i0, 0, i1, 0, 0, 0, 0] }"
-      },
-      {
-         "accesses" : [
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_A[1536i0 + i2] }"
-            },
-            {
-               "kind" : "read",
-               "relation" : "{ Stmt_6[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }"
-            },
-            {
-               "kind" : "write",
-               "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 }",
-         "name" : "Stmt_6",
-         "schedule" : "{ Stmt_6[i0, i1, i2] -> scattering[1, o0, o1, o2, i0, i2, ii1, i1]: o0 <= i0 < o0 + 64 and o1 <= i1 < o1 + 64 and o2 <= i2 < o2 + 64 and o0 % 64 = 0 and o1 % 64 = 0 and o2 % 64 = 0 and ii1 % 4 = 0 and ii1 <= i1 < ii1 + 4}"
-      }
-   ]
-}

Added: polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop?rev=183376&view=auto
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop (added)
+++ polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop Wed Jun  5 21:48:13 2013
@@ -0,0 +1,40 @@
+{
+   "context" : "{  :  }",
+   "name" : "for.cond => for.end30",
+   "statements" : [
+      {
+         "accesses" : [
+            {
+               "kind" : "write",
+               "relation" : "{ Stmt_for_body3[i0, i1] -> MemRef_C[1536i0 + i1] }"
+            }
+         ],
+         "domain" : "{ Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= 1535 and i1 >= 0 and i1 <= 1535 }",
+         "name" : "Stmt_for_body3",
+         "schedule" : "{ Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0, 0, 0] }"
+      },
+      {
+         "accesses" : [
+            {
+               "kind" : "read",
+               "relation" : "{ Stmt_for_body8[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
+            },
+            {
+               "kind" : "read",
+               "relation" : "{ Stmt_for_body8[i0, i1, i2] -> MemRef_A[1536i0 + i2] }"
+            },
+            {
+               "kind" : "read",
+               "relation" : "{ Stmt_for_body8[i0, i1, i2] -> MemRef_B[i1 + 1536i2] }"
+            },
+            {
+               "kind" : "write",
+               "relation" : "{ Stmt_for_body8[i0, i1, i2] -> MemRef_C[1536i0 + i1] }"
+            }
+         ],
+         "domain" : "{ Stmt_for_body8[i0, i1, i2] : i0 >= 0 and i0 <= 1535 and i1 >= 0 and i1 <= 1535 and i2 >= 0 and i2 <= 1535 }",
+         "name" : "Stmt_for_body8",
+         "schedule" : "{ Stmt_for_body8[i0, i1, i2] -> scattering[0, i0, 0, i1, 1, i2, 0] }"
+      }
+   ]
+}

Copied: polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop.interchanged (from r183375, polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged)
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop.interchanged?p2=polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop.interchanged&p1=polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop.interchanged&r1=183375&r2=183376&rev=183376&view=diff
==============================================================================
    (empty)

Copied: polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop.interchanged+tiled (from r183375, polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled)
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop.interchanged%2Btiled?p2=polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop.interchanged%2Btiled&p1=polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop.interchanged%2Btiled&r1=183375&r2=183376&rev=183376&view=diff
==============================================================================
    (empty)

Copied: polly/branches/release_33/www/experiments/matmul/main___%for.cond---%for.end30.jscop.interchanged+tiled+vector (from r183375, polly/branches/release_33/www/experiments/matmul/main___%1---%17.jscop.interchanged+tiled+vector)
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop.interchanged%2Btiled%2Bvector?p2=polly/branches/release_33/www/experiments/matmul/main___%25for.cond---%25for.end30.jscop.interchanged%2Btiled%2Bvector&p1=polly/branches/release_33/www/experiments/matmul/main___%251---%2517.jscop.interchanged%2Btiled%2Bvector&r1=183375&r2=183376&rev=183376&view=diff
==============================================================================
    (empty)

Modified: polly/branches/release_33/www/experiments/matmul/matmul.normalopt.exe
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.normalopt.exe?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.normalopt.exe (original) and polly/branches/release_33/www/experiments/matmul/matmul.normalopt.exe Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.normalopt.ll
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.normalopt.ll?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.normalopt.ll (original) and polly/branches/release_33/www/experiments/matmul/matmul.normalopt.ll Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.normalopt.s
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.normalopt.s?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.normalopt.s (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.normalopt.s Wed Jun  5 21:48:13 2013
@@ -2,74 +2,112 @@
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI0_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	init_array
 	.align	16, 0x90
 	.type	init_array, at function
 init_array:                             # @init_array
-# BB#0:
-	xorl	%eax, %eax
-	movsd	.LCPI0_0(%rip), %xmm0
-	movq	%rax, %rcx
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp2:
+	.cfi_def_cfa_offset 16
+.Ltmp3:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp4:
+	.cfi_def_cfa_register %rbp
+	xorl	%r8d, %r8d
+	vmovsd	.LCPI0_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB0_1:                                # %.preheader
+.LBB0_1:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB0_2 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB0_2:                                #   Parent Loop BB0_1 Depth=1
+.LBB0_2:                                # %for.body3
+                                        #   Parent Loop BB0_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
+	movl	%ecx, %edx
+	imull	%r8d, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%r8, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB0_2
-# BB#3:                                 #   in Loop: Header=BB0_1 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+# BB#3:                                 # %for.inc17
+                                        #   in Loop: Header=BB0_1 Depth=1
+	incq	%r8
+	cmpq	$1536, %r8              # imm = 0x600
 	jne	.LBB0_1
-# BB#4:
+# BB#4:                                 # %for.end19
+	popq	%rbp
 	ret
-.Ltmp0:
-	.size	init_array, .Ltmp0-init_array
+.Ltmp5:
+	.size	init_array, .Ltmp5-init_array
+	.cfi_endproc
 
 	.globl	print_array
 	.align	16, 0x90
 	.type	print_array, at function
 print_array:                            # @print_array
-# BB#0:
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp9:
+	.cfi_def_cfa_offset 16
+.Ltmp10:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp11:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
 	pushq	%r14
+	pushq	%r12
 	pushq	%rbx
-	pushq	%rax
-	movq	$-9437184, %rbx         # imm = 0xFFFFFFFFFF700000
+.Ltmp12:
+	.cfi_offset %rbx, -48
+.Ltmp13:
+	.cfi_offset %r12, -40
+.Ltmp14:
+	.cfi_offset %r14, -32
+.Ltmp15:
+	.cfi_offset %r15, -24
+	xorl	%r14d, %r14d
+	movl	$C, %r15d
 	.align	16, 0x90
-.LBB1_1:                                # %.preheader
+.LBB1_1:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB1_2 Depth 2
-	xorl	%r14d, %r14d
-	movq	stdout(%rip), %rdi
+	movq	stdout(%rip), %rax
+	movq	%r15, %r12
+	xorl	%ebx, %ebx
 	.align	16, 0x90
-.LBB1_2:                                #   Parent Loop BB1_1 Depth=1
+.LBB1_2:                                # %for.body3
+                                        #   Parent Loop BB1_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movss	C+9437184(%rbx,%r14,4), %xmm0
-	cvtss2sd	%xmm0, %xmm0
+	vmovss	(%r12), %xmm0
+	vcvtss2sd	%xmm0, %xmm0, %xmm0
+	movq	%rax, %rdi
 	movl	$.L.str, %esi
 	movb	$1, %al
 	callq	fprintf
-	movslq	%r14d, %rax
+	movslq	%ebx, %rax
 	imulq	$1717986919, %rax, %rcx # imm = 0x66666667
 	movq	%rcx, %rdx
 	shrq	$63, %rdx
@@ -79,113 +117,146 @@ print_array:
 	subl	%ecx, %eax
 	cmpl	$79, %eax
 	jne	.LBB1_4
-# BB#3:                                 #   in Loop: Header=BB1_2 Depth=2
+# BB#3:                                 # %if.then
+                                        #   in Loop: Header=BB1_2 Depth=2
 	movq	stdout(%rip), %rsi
 	movl	$10, %edi
 	callq	fputc
-.LBB1_4:                                #   in Loop: Header=BB1_2 Depth=2
-	incq	%r14
-	movq	stdout(%rip), %rsi
-	cmpq	$1536, %r14             # imm = 0x600
-	movq	%rsi, %rdi
+.LBB1_4:                                # %for.inc
+                                        #   in Loop: Header=BB1_2 Depth=2
+	addq	$4, %r12
+	incq	%rbx
+	movq	stdout(%rip), %rax
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB1_2
-# BB#5:                                 #   in Loop: Header=BB1_1 Depth=1
+# BB#5:                                 # %for.end
+                                        #   in Loop: Header=BB1_1 Depth=1
 	movl	$10, %edi
+	movq	%rax, %rsi
 	callq	fputc
-	addq	$6144, %rbx             # imm = 0x1800
+	addq	$6144, %r15             # imm = 0x1800
+	incq	%r14
+	cmpq	$1536, %r14             # imm = 0x600
 	jne	.LBB1_1
-# BB#6:
-	addq	$8, %rsp
+# BB#6:                                 # %for.end12
 	popq	%rbx
+	popq	%r12
 	popq	%r14
+	popq	%r15
+	popq	%rbp
 	ret
-.Ltmp1:
-	.size	print_array, .Ltmp1-print_array
+.Ltmp16:
+	.size	print_array, .Ltmp16-print_array
+	.cfi_endproc
 
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI2_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	main
 	.align	16, 0x90
 	.type	main, at function
 main:                                   # @main
-# BB#0:
-	xorl	%eax, %eax
-	movsd	.LCPI2_0(%rip), %xmm0
-	movq	%rax, %rcx
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp19:
+	.cfi_def_cfa_offset 16
+.Ltmp20:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp21:
+	.cfi_def_cfa_register %rbp
+	xorl	%r8d, %r8d
+	vmovsd	.LCPI2_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB2_1:                                # %.preheader.i
+.LBB2_1:                                # %for.cond1.preheader.i
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB2_2 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB2_2:                                #   Parent Loop BB2_1 Depth=1
+.LBB2_2:                                # %for.body3.i
+                                        #   Parent Loop BB2_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
+	movl	%ecx, %edx
+	imull	%r8d, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%r8, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB2_2
-# BB#3:                                 #   in Loop: Header=BB2_1 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	xorl	%edx, %edx
-	cmpq	$1536, %rcx             # imm = 0x600
+# BB#3:                                 # %for.inc17.i
+                                        #   in Loop: Header=BB2_1 Depth=1
+	incq	%r8
+	cmpq	$1536, %r8              # imm = 0x600
 	jne	.LBB2_1
+# BB#4:
+	xorl	%r8d, %r8d
+	movl	$A, %r9d
 	.align	16, 0x90
-.LBB2_4:                                # %.preheader
+.LBB2_5:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB2_5 Depth 2
-                                        #       Child Loop BB2_6 Depth 3
-	xorl	%eax, %eax
-	xorl	%ecx, %ecx
+                                        #     Child Loop BB2_6 Depth 2
+                                        #       Child Loop BB2_7 Depth 3
+	leaq	(%r8,%r8,2), %rdx
+	shlq	$11, %rdx
+	leaq	C(%rdx), %rsi
+	xorl	%edi, %edi
 	.align	16, 0x90
-.LBB2_5:                                #   Parent Loop BB2_4 Depth=1
+.LBB2_6:                                # %for.body3
+                                        #   Parent Loop BB2_5 Depth=1
                                         # =>  This Loop Header: Depth=2
-                                        #       Child Loop BB2_6 Depth 3
-	movl	$0, C(%rcx,%rdx)
-	leaq	B(%rcx), %rsi
-	pxor	%xmm0, %xmm0
-	movq	%rax, %rdi
-	.align	16, 0x90
-.LBB2_6:                                #   Parent Loop BB2_4 Depth=1
-                                        #     Parent Loop BB2_5 Depth=2
+                                        #       Child Loop BB2_7 Depth 3
+	movl	$0, (%rsi)
+	vxorps	%xmm0, %xmm0, %xmm0
+	movq	$-9437184, %rax         # imm = 0xFFFFFFFFFF700000
+	movq	%r9, %rcx
+	.align	16, 0x90
+.LBB2_7:                                # %for.body8
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_6 Depth=2
                                         # =>    This Inner Loop Header: Depth=3
-	movss	A(%rdx,%rdi,4), %xmm1
-	mulss	(%rsi), %xmm1
-	addss	%xmm1, %xmm0
-	addq	$6144, %rsi             # imm = 0x1800
+	vmovss	(%rcx), %xmm1
+	vmulss	B+9437184(%rax,%rdi,4), %xmm1, %xmm1
+	vaddss	%xmm1, %xmm0, %xmm0
+	addq	$4, %rcx
+	addq	$6144, %rax             # imm = 0x1800
+	jne	.LBB2_7
+# BB#8:                                 # %for.inc25
+                                        #   in Loop: Header=BB2_6 Depth=2
+	vmovss	%xmm0, (%rsi)
+	leaq	C+4(%rdx,%rdi,4), %rsi
 	incq	%rdi
 	cmpq	$1536, %rdi             # imm = 0x600
 	jne	.LBB2_6
-# BB#7:                                 #   in Loop: Header=BB2_5 Depth=2
-	movss	%xmm0, C(%rcx,%rdx)
-	addq	$4, %rcx
-	cmpq	$6144, %rcx             # imm = 0x1800
+# BB#9:                                 # %for.inc28
+                                        #   in Loop: Header=BB2_5 Depth=1
+	addq	$6144, %r9              # imm = 0x1800
+	incq	%r8
+	cmpq	$1536, %r8              # imm = 0x600
 	jne	.LBB2_5
-# BB#8:                                 # %init_array.exit
-                                        #   in Loop: Header=BB2_4 Depth=1
-	addq	$6144, %rdx             # imm = 0x1800
-	cmpq	$9437184, %rdx          # imm = 0x900000
-	jne	.LBB2_4
-# BB#9:
+# BB#10:                                # %for.end30
 	xorl	%eax, %eax
+	popq	%rbp
 	ret
-.Ltmp2:
-	.size	main, .Ltmp2-main
+.Ltmp22:
+	.size	main, .Ltmp22-main
+	.cfi_endproc
 
 	.type	A, at object               # @A
 	.comm	A,9437184,16

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.exe
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled%2Bvector%2Bopenmp.exe?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.exe (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.exe Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.ll
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled%2Bvector%2Bopenmp.ll?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.ll (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.ll Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.s
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled%2Bvector%2Bopenmp.s?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.s (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.s Wed Jun  5 21:48:13 2013
@@ -1,55 +1,166 @@
 	.file	"matmul.polly.interchanged+tiled+vector+openmp.ll"
+	.section	.rodata.cst8,"aM", at progbits,8
+	.align	8
+.LCPI0_0:
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	init_array
 	.align	16, 0x90
 	.type	init_array, at function
 init_array:                             # @init_array
-# BB#0:                                 # %pollyBB
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp3:
+	.cfi_def_cfa_offset 16
+.Ltmp4:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp5:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
+	pushq	%r14
 	pushq	%rbx
-	subq	$16, %rsp
-	movq	$A, (%rsp)
-	movq	$B, 8(%rsp)
+	subq	$24, %rsp
+.Ltmp6:
+	.cfi_offset %rbx, -40
+.Ltmp7:
+	.cfi_offset %r14, -32
+.Ltmp8:
+	.cfi_offset %r15, -24
+	leaq	-32(%rbp), %rsi
 	movl	$init_array.omp_subfn, %edi
-	leaq	(%rsp), %rbx
 	xorl	%edx, %edx
 	xorl	%ecx, %ecx
 	movl	$1536, %r8d             # imm = 0x600
 	movl	$1, %r9d
-	movq	%rbx, %rsi
 	callq	GOMP_parallel_loop_runtime_start
-	movq	%rbx, %rdi
-	callq	init_array.omp_subfn
+	leaq	-40(%rbp), %rdi
+	leaq	-48(%rbp), %rsi
+	callq	GOMP_loop_runtime_next
+	testb	%al, %al
+	je	.LBB0_4
+# BB#1:
+	leaq	-40(%rbp), %r14
+	leaq	-48(%rbp), %r15
+	vmovsd	.LCPI0_0(%rip), %xmm1
+	.align	16, 0x90
+.LBB0_2:                                # %omp.loadIVBounds.i
+                                        # =>This Loop Header: Depth=1
+                                        #     Child Loop BB0_8 Depth 2
+                                        #       Child Loop BB0_5 Depth 3
+	movq	-48(%rbp), %r8
+	leaq	-1(%r8), %rcx
+	movq	-40(%rbp), %rax
+	cmpq	%rcx, %rax
+	jg	.LBB0_3
+# BB#7:                                 # %polly.loop_preheader4.preheader.i
+                                        #   in Loop: Header=BB0_2 Depth=1
+	addq	$-2, %r8
+	.align	16, 0x90
+.LBB0_8:                                # %polly.loop_preheader4.i
+                                        #   Parent Loop BB0_2 Depth=1
+                                        # =>  This Loop Header: Depth=2
+                                        #       Child Loop BB0_5 Depth 3
+	xorl	%edx, %edx
+	.align	16, 0x90
+.LBB0_5:                                # %polly.loop_header3.i
+                                        #   Parent Loop BB0_2 Depth=1
+                                        #     Parent Loop BB0_8 Depth=2
+                                        # =>    This Inner Loop Header: Depth=3
+	movl	%edx, %esi
+	imull	%eax, %esi
+	movl	%esi, %edi
+	sarl	$31, %edi
+	shrl	$22, %edi
+	addl	%esi, %edi
+	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%edi
+	movq	%rax, %rcx
+	shlq	$11, %rcx
+	leal	1(%rsi,%rdi), %ebx
+	leaq	(%rcx,%rcx,2), %rdi
+	leaq	1(%rdx), %rsi
+	cmpq	$1536, %rsi             # imm = 0x600
+	vcvtsi2sdl	%ebx, %xmm0, %xmm0
+	vmulsd	%xmm1, %xmm0, %xmm0
+	vcvtsd2ss	%xmm0, %xmm0, %xmm0
+	vmovss	%xmm0, A(%rdi,%rdx,4)
+	vmovss	%xmm0, B(%rdi,%rdx,4)
+	movq	%rsi, %rdx
+	jne	.LBB0_5
+# BB#6:                                 # %polly.loop_exit5.i
+                                        #   in Loop: Header=BB0_8 Depth=2
+	cmpq	%r8, %rax
+	leaq	1(%rax), %rax
+	jle	.LBB0_8
+.LBB0_3:                                # %omp.checkNext.backedge.i
+                                        #   in Loop: Header=BB0_2 Depth=1
+	movq	%r14, %rdi
+	movq	%r15, %rsi
+	callq	GOMP_loop_runtime_next
+	vmovsd	.LCPI0_0(%rip), %xmm1
+	testb	%al, %al
+	jne	.LBB0_2
+.LBB0_4:                                # %init_array.omp_subfn.exit
+	callq	GOMP_loop_end_nowait
 	callq	GOMP_parallel_end
-	addq	$16, %rsp
+	addq	$24, %rsp
 	popq	%rbx
+	popq	%r14
+	popq	%r15
+	popq	%rbp
 	ret
-.Ltmp0:
-	.size	init_array, .Ltmp0-init_array
+.Ltmp9:
+	.size	init_array, .Ltmp9-init_array
+	.cfi_endproc
 
 	.globl	print_array
 	.align	16, 0x90
 	.type	print_array, at function
 print_array:                            # @print_array
-# BB#0:
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp13:
+	.cfi_def_cfa_offset 16
+.Ltmp14:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp15:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
 	pushq	%r14
+	pushq	%r12
 	pushq	%rbx
-	pushq	%rax
-	movq	$-9437184, %rbx         # imm = 0xFFFFFFFFFF700000
+.Ltmp16:
+	.cfi_offset %rbx, -48
+.Ltmp17:
+	.cfi_offset %r12, -40
+.Ltmp18:
+	.cfi_offset %r14, -32
+.Ltmp19:
+	.cfi_offset %r15, -24
+	xorl	%r14d, %r14d
+	movl	$C, %r15d
 	.align	16, 0x90
-.LBB1_1:                                # %.preheader
+.LBB1_1:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB1_2 Depth 2
-	xorl	%r14d, %r14d
-	movq	stdout(%rip), %rdi
+	movq	stdout(%rip), %rax
+	movq	%r15, %r12
+	xorl	%ebx, %ebx
 	.align	16, 0x90
-.LBB1_2:                                #   Parent Loop BB1_1 Depth=1
+.LBB1_2:                                # %for.body3
+                                        #   Parent Loop BB1_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movss	C+9437184(%rbx,%r14,4), %xmm0
-	cvtss2sd	%xmm0, %xmm0
+	vmovss	(%r12), %xmm0
+	vcvtss2sd	%xmm0, %xmm0, %xmm0
+	movq	%rax, %rdi
 	movl	$.L.str, %esi
 	movb	$1, %al
 	callq	fprintf
-	movslq	%r14d, %rax
+	movslq	%ebx, %rax
 	imulq	$1717986919, %rax, %rcx # imm = 0x66666667
 	movq	%rcx, %rdx
 	shrq	$63, %rdx
@@ -59,127 +170,135 @@ print_array:
 	subl	%ecx, %eax
 	cmpl	$79, %eax
 	jne	.LBB1_4
-# BB#3:                                 #   in Loop: Header=BB1_2 Depth=2
+# BB#3:                                 # %if.then
+                                        #   in Loop: Header=BB1_2 Depth=2
 	movq	stdout(%rip), %rsi
 	movl	$10, %edi
 	callq	fputc
-.LBB1_4:                                #   in Loop: Header=BB1_2 Depth=2
-	incq	%r14
-	movq	stdout(%rip), %rsi
-	cmpq	$1536, %r14             # imm = 0x600
-	movq	%rsi, %rdi
+.LBB1_4:                                # %for.inc
+                                        #   in Loop: Header=BB1_2 Depth=2
+	addq	$4, %r12
+	incq	%rbx
+	movq	stdout(%rip), %rax
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB1_2
-# BB#5:                                 #   in Loop: Header=BB1_1 Depth=1
+# BB#5:                                 # %for.end
+                                        #   in Loop: Header=BB1_1 Depth=1
 	movl	$10, %edi
+	movq	%rax, %rsi
 	callq	fputc
-	addq	$6144, %rbx             # imm = 0x1800
+	addq	$6144, %r15             # imm = 0x1800
+	incq	%r14
+	cmpq	$1536, %r14             # imm = 0x600
 	jne	.LBB1_1
-# BB#6:
-	addq	$8, %rsp
+# BB#6:                                 # %for.end12
 	popq	%rbx
+	popq	%r12
 	popq	%r14
+	popq	%r15
+	popq	%rbp
 	ret
-.Ltmp1:
-	.size	print_array, .Ltmp1-print_array
+.Ltmp20:
+	.size	print_array, .Ltmp20-print_array
+	.cfi_endproc
 
 	.globl	main
 	.align	16, 0x90
 	.type	main, at function
 main:                                   # @main
-# BB#0:                                 # %pollyBB
+	.cfi_startproc
+# BB#0:                                 # %entry
 	pushq	%rbp
+.Ltmp24:
+	.cfi_def_cfa_offset 16
+.Ltmp25:
+	.cfi_offset %rbp, -16
 	movq	%rsp, %rbp
+.Ltmp26:
+	.cfi_def_cfa_register %rbp
 	pushq	%r15
 	pushq	%r14
 	pushq	%r13
 	pushq	%r12
 	pushq	%rbx
-	subq	$56, %rsp
-	movq	$A, -72(%rbp)
-	movq	$B, -64(%rbp)
-	movl	$init_array.omp_subfn, %edi
-	leaq	-72(%rbp), %rbx
-	movq	%rbx, %rsi
-	xorl	%edx, %edx
-	xorl	%ecx, %ecx
-	movl	$1536, %r8d             # imm = 0x600
-	movl	$1, %r9d
-	callq	GOMP_parallel_loop_runtime_start
-	movq	%rbx, %rdi
-	callq	init_array.omp_subfn
-	callq	GOMP_parallel_end
+	subq	$24, %rsp
+.Ltmp27:
+	.cfi_offset %rbx, -56
+.Ltmp28:
+	.cfi_offset %r12, -48
+.Ltmp29:
+	.cfi_offset %r13, -40
+.Ltmp30:
+	.cfi_offset %r14, -32
+.Ltmp31:
+	.cfi_offset %r15, -24
+	callq	init_array
+	leaq	-48(%rbp), %rsi
 	movl	$main.omp_subfn, %edi
-	leaq	-96(%rbp), %rsi
-	movq	$C, -96(%rbp)
-	movq	$A, -88(%rbp)
-	movq	$B, -80(%rbp)
 	xorl	%edx, %edx
 	xorl	%ecx, %ecx
 	movl	$1536, %r8d             # imm = 0x600
 	movl	$1, %r9d
 	callq	GOMP_parallel_loop_runtime_start
-	leaq	-48(%rbp), %rdi
-	leaq	-56(%rbp), %rsi
+	leaq	-56(%rbp), %rdi
+	leaq	-64(%rbp), %rsi
 	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	je	.LBB2_6
+	testb	%al, %al
+	je	.LBB2_4
 # BB#1:
-	leaq	-48(%rbp), %rbx
 	leaq	-56(%rbp), %r14
+	leaq	-64(%rbp), %r15
 	.align	16, 0x90
-.LBB2_3:                                # %omp.loadIVBounds.i
+.LBB2_2:                                # %omp.loadIVBounds.i
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB2_5 Depth 2
-	movq	-56(%rbp), %r15
-	decq	%r15
-	movq	-48(%rbp), %r12
-	cmpq	%r15, %r12
-	jg	.LBB2_2
-# BB#4:                                 # %polly.loop_header2.preheader.lr.ph.i
-                                        #   in Loop: Header=BB2_3 Depth=1
-	leaq	(%r12,%r12,2), %rax
-	shlq	$11, %rax
-	leaq	C(%rax), %r13
+                                        #     Child Loop BB2_6 Depth 2
+	movq	-64(%rbp), %r12
+	leaq	-1(%r12), %rcx
+	movq	-56(%rbp), %rax
+	cmpq	%rcx, %rax
+	jg	.LBB2_3
+# BB#5:                                 # %polly.loop_preheader4.preheader.i
+                                        #   in Loop: Header=BB2_2 Depth=1
+	addq	$-2, %r12
+	leaq	(%rax,%rax,2), %rcx
+	leaq	-1(%rax), %r13
+	shlq	$11, %rcx
+	leaq	C(%rcx), %rbx
 	.align	16, 0x90
-.LBB2_5:                                # %polly.loop_header2.preheader.i
-                                        #   Parent Loop BB2_3 Depth=1
+.LBB2_6:                                # %polly.loop_preheader4.i
+                                        #   Parent Loop BB2_2 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movq	%r13, %rdi
+	movq	%rbx, %rdi
 	xorl	%esi, %esi
 	movl	$6144, %edx             # imm = 0x1800
 	callq	memset
-	addq	$6144, %r13             # imm = 0x1800
-	incq	%r12
-	cmpq	%r15, %r12
-	jle	.LBB2_5
-.LBB2_2:                                # %omp.checkNext.loopexit.i
-                                        #   in Loop: Header=BB2_3 Depth=1
-	movq	%rbx, %rdi
-	movq	%r14, %rsi
+	addq	$6144, %rbx             # imm = 0x1800
+	incq	%r13
+	cmpq	%r12, %r13
+	jle	.LBB2_6
+.LBB2_3:                                # %omp.checkNext.backedge.i
+                                        #   in Loop: Header=BB2_2 Depth=1
+	movq	%r14, %rdi
+	movq	%r15, %rsi
 	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	jne	.LBB2_3
-.LBB2_6:                                # %main.omp_subfn.exit
+	testb	%al, %al
+	jne	.LBB2_2
+.LBB2_4:                                # %main.omp_subfn.exit
 	callq	GOMP_loop_end_nowait
 	callq	GOMP_parallel_end
-	movq	%rsp, %rax
-	leaq	-32(%rax), %rbx
+	leaq	-48(%rbp), %rbx
 	movl	$main.omp_subfn1, %edi
+	movq	%rbx, %rsi
+	xorl	%edx, %edx
 	xorl	%ecx, %ecx
 	movl	$1536, %r8d             # imm = 0x600
 	movl	$64, %r9d
-	movq	%rbx, %rsp
-	movq	$C, -32(%rax)
-	movq	$A, -24(%rax)
-	movq	$B, -16(%rax)
-	movq	%rbx, %rsi
-	xorl	%edx, %edx
 	callq	GOMP_parallel_loop_runtime_start
 	movq	%rbx, %rdi
 	callq	main.omp_subfn1
 	callq	GOMP_parallel_end
 	xorl	%eax, %eax
-	leaq	-40(%rbp), %rsp
+	addq	$24, %rsp
 	popq	%rbx
 	popq	%r12
 	popq	%r13
@@ -187,418 +306,427 @@ main:
 	popq	%r15
 	popq	%rbp
 	ret
-.Ltmp2:
-	.size	main, .Ltmp2-main
+.Ltmp32:
+	.size	main, .Ltmp32-main
+	.cfi_endproc
 
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI3_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.align	16, 0x90
 	.type	init_array.omp_subfn, at function
 init_array.omp_subfn:                   # @init_array.omp_subfn
-.Leh_func_begin3:
-.Ltmp6:
 	.cfi_startproc
 # BB#0:                                 # %omp.setup
-	pushq	%r14
-.Ltmp7:
+	pushq	%rbp
+.Ltmp36:
 	.cfi_def_cfa_offset 16
+.Ltmp37:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp38:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
+	pushq	%r14
 	pushq	%rbx
-.Ltmp8:
-	.cfi_def_cfa_offset 24
 	subq	$24, %rsp
-.Ltmp9:
-	.cfi_def_cfa_offset 48
-.Ltmp10:
-	.cfi_offset 3, -24
-.Ltmp11:
-	.cfi_offset 14, -16
-	leaq	16(%rsp), %rdi
-	leaq	8(%rsp), %rsi
+.Ltmp39:
+	.cfi_offset %rbx, -40
+.Ltmp40:
+	.cfi_offset %r14, -32
+.Ltmp41:
+	.cfi_offset %r15, -24
+	leaq	-32(%rbp), %rdi
+	leaq	-40(%rbp), %rsi
 	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	je	.LBB3_2
+	testb	%al, %al
+	je	.LBB3_4
 # BB#1:
-	leaq	16(%rsp), %rbx
-	leaq	8(%rsp), %r14
-	jmp	.LBB3_4
-.LBB3_2:                                # %omp.exit
-	callq	GOMP_loop_end_nowait
-	addq	$24, %rsp
-	popq	%rbx
-	popq	%r14
-	ret
+	leaq	-32(%rbp), %r14
+	leaq	-40(%rbp), %r15
+	vmovsd	.LCPI3_0(%rip), %xmm1
 	.align	16, 0x90
-.LBB3_3:                                # %omp.checkNext.loopexit
-                                        #   in Loop: Header=BB3_4 Depth=1
-	movq	%rbx, %rdi
-	movq	%r14, %rsi
-	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	je	.LBB3_2
-.LBB3_4:                                # %omp.loadIVBounds
+.LBB3_2:                                # %omp.loadIVBounds
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB3_7 Depth 2
-                                        #       Child Loop BB3_8 Depth 3
-	movq	8(%rsp), %rax
-	decq	%rax
-	movq	16(%rsp), %rcx
-	cmpq	%rax, %rcx
+                                        #     Child Loop BB3_8 Depth 2
+                                        #       Child Loop BB3_5 Depth 3
+	movq	-40(%rbp), %r8
+	leaq	-1(%r8), %rcx
+	movq	-32(%rbp), %rax
+	cmpq	%rcx, %rax
 	jg	.LBB3_3
-# BB#5:                                 # %polly.loop_header2.preheader.lr.ph
-                                        #   in Loop: Header=BB3_4 Depth=1
-	movq	%rcx, %rdx
-	shlq	$11, %rdx
-	leaq	(%rdx,%rdx,2), %rdx
-	jmp	.LBB3_7
-	.align	16, 0x90
-.LBB3_6:                                # %polly.loop_header.loopexit
-                                        #   in Loop: Header=BB3_7 Depth=2
-	addq	$6144, %rdx             # imm = 0x1800
-	incq	%rcx
-	cmpq	%rax, %rcx
-	jg	.LBB3_3
-.LBB3_7:                                # %polly.loop_header2.preheader
-                                        #   Parent Loop BB3_4 Depth=1
+# BB#7:                                 # %polly.loop_preheader4.preheader
+                                        #   in Loop: Header=BB3_2 Depth=1
+	addq	$-2, %r8
+	.align	16, 0x90
+.LBB3_8:                                # %polly.loop_preheader4
+                                        #   Parent Loop BB3_2 Depth=1
                                         # =>  This Loop Header: Depth=2
-                                        #       Child Loop BB3_8 Depth 3
-	movq	$-1536, %rsi            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%edi, %edi
-	.align	16, 0x90
-.LBB3_8:                                # %polly.loop_body3
-                                        #   Parent Loop BB3_4 Depth=1
-                                        #     Parent Loop BB3_7 Depth=2
+                                        #       Child Loop BB3_5 Depth 3
+	xorl	%edx, %edx
+	.align	16, 0x90
+.LBB3_5:                                # %polly.loop_header3
+                                        #   Parent Loop BB3_2 Depth=1
+                                        #     Parent Loop BB3_8 Depth=2
                                         # =>    This Inner Loop Header: Depth=3
-	movl	%edi, %r8d
-	sarl	$31, %r8d
-	shrl	$22, %r8d
-	addl	%edi, %r8d
-	andl	$-1024, %r8d            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%r8d
-	leal	1(%rdi,%r8), %r8d
-	cvtsi2sd	%r8d, %xmm0
-	mulsd	.LCPI3_0(%rip), %xmm0
-	cvtsd2ss	%xmm0, %xmm0
-	movss	%xmm0, A+6144(%rdx,%rsi,4)
-	movss	%xmm0, B+6144(%rdx,%rsi,4)
-	addl	%ecx, %edi
-	incq	%rsi
-	jne	.LBB3_8
-	jmp	.LBB3_6
-.Ltmp12:
-	.size	init_array.omp_subfn, .Ltmp12-init_array.omp_subfn
-.Ltmp13:
+	movl	%edx, %esi
+	imull	%eax, %esi
+	movl	%esi, %edi
+	sarl	$31, %edi
+	shrl	$22, %edi
+	addl	%esi, %edi
+	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%edi
+	movq	%rax, %rcx
+	shlq	$11, %rcx
+	leal	1(%rsi,%rdi), %ebx
+	leaq	(%rcx,%rcx,2), %rdi
+	leaq	1(%rdx), %rsi
+	cmpq	$1536, %rsi             # imm = 0x600
+	vcvtsi2sdl	%ebx, %xmm0, %xmm0
+	vmulsd	%xmm1, %xmm0, %xmm0
+	vcvtsd2ss	%xmm0, %xmm0, %xmm0
+	vmovss	%xmm0, A(%rdi,%rdx,4)
+	vmovss	%xmm0, B(%rdi,%rdx,4)
+	movq	%rsi, %rdx
+	jne	.LBB3_5
+# BB#6:                                 # %polly.loop_exit5
+                                        #   in Loop: Header=BB3_8 Depth=2
+	cmpq	%r8, %rax
+	leaq	1(%rax), %rax
+	jle	.LBB3_8
+.LBB3_3:                                # %omp.checkNext.backedge
+                                        #   in Loop: Header=BB3_2 Depth=1
+	movq	%r14, %rdi
+	movq	%r15, %rsi
+	callq	GOMP_loop_runtime_next
+	vmovsd	.LCPI3_0(%rip), %xmm1
+	testb	%al, %al
+	jne	.LBB3_2
+.LBB3_4:                                # %omp.exit
+	callq	GOMP_loop_end_nowait
+	addq	$24, %rsp
+	popq	%rbx
+	popq	%r14
+	popq	%r15
+	popq	%rbp
+	ret
+.Ltmp42:
+	.size	init_array.omp_subfn, .Ltmp42-init_array.omp_subfn
 	.cfi_endproc
-.Leh_func_end3:
 
 	.align	16, 0x90
 	.type	main.omp_subfn, at function
 main.omp_subfn:                         # @main.omp_subfn
-.Leh_func_begin4:
-.Ltmp20:
 	.cfi_startproc
 # BB#0:                                 # %omp.setup
-	pushq	%r15
-.Ltmp21:
+	pushq	%rbp
+.Ltmp46:
 	.cfi_def_cfa_offset 16
+.Ltmp47:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp48:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
 	pushq	%r14
-.Ltmp22:
-	.cfi_def_cfa_offset 24
 	pushq	%r13
-.Ltmp23:
-	.cfi_def_cfa_offset 32
 	pushq	%r12
-.Ltmp24:
-	.cfi_def_cfa_offset 40
 	pushq	%rbx
-.Ltmp25:
-	.cfi_def_cfa_offset 48
-	subq	$16, %rsp
-.Ltmp26:
-	.cfi_def_cfa_offset 64
-.Ltmp27:
-	.cfi_offset 3, -48
-.Ltmp28:
-	.cfi_offset 12, -40
-.Ltmp29:
-	.cfi_offset 13, -32
-.Ltmp30:
-	.cfi_offset 14, -24
-.Ltmp31:
-	.cfi_offset 15, -16
-	leaq	8(%rsp), %rdi
-	leaq	(%rsp), %rsi
+	subq	$24, %rsp
+.Ltmp49:
+	.cfi_offset %rbx, -56
+.Ltmp50:
+	.cfi_offset %r12, -48
+.Ltmp51:
+	.cfi_offset %r13, -40
+.Ltmp52:
+	.cfi_offset %r14, -32
+.Ltmp53:
+	.cfi_offset %r15, -24
+	leaq	-48(%rbp), %rdi
+	leaq	-56(%rbp), %rsi
 	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	je	.LBB4_2
+	testb	%al, %al
+	je	.LBB4_4
 # BB#1:
-	leaq	8(%rsp), %rbx
-	leaq	(%rsp), %r14
-	jmp	.LBB4_4
-.LBB4_2:                                # %omp.exit
-	callq	GOMP_loop_end_nowait
-	addq	$16, %rsp
-	popq	%rbx
-	popq	%r12
-	popq	%r13
-	popq	%r14
-	popq	%r15
-	ret
+	leaq	-48(%rbp), %r14
+	leaq	-56(%rbp), %r15
 	.align	16, 0x90
-.LBB4_3:                                # %omp.checkNext.loopexit
-                                        #   in Loop: Header=BB4_4 Depth=1
-	movq	%rbx, %rdi
-	movq	%r14, %rsi
-	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	je	.LBB4_2
-.LBB4_4:                                # %omp.loadIVBounds
+.LBB4_2:                                # %omp.loadIVBounds
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB4_6 Depth 2
-	movq	(%rsp), %r15
-	decq	%r15
-	movq	8(%rsp), %r12
-	cmpq	%r15, %r12
+	movq	-56(%rbp), %r12
+	leaq	-1(%r12), %rcx
+	movq	-48(%rbp), %rax
+	cmpq	%rcx, %rax
 	jg	.LBB4_3
-# BB#5:                                 # %polly.loop_header2.preheader.lr.ph
-                                        #   in Loop: Header=BB4_4 Depth=1
-	leaq	(%r12,%r12,2), %rax
-	shlq	$11, %rax
-	leaq	C(%rax), %r13
+# BB#5:                                 # %polly.loop_preheader4.preheader
+                                        #   in Loop: Header=BB4_2 Depth=1
+	addq	$-2, %r12
+	leaq	(%rax,%rax,2), %rcx
+	leaq	-1(%rax), %r13
+	shlq	$11, %rcx
+	leaq	C(%rcx), %rbx
 	.align	16, 0x90
-.LBB4_6:                                # %polly.loop_header2.preheader
-                                        #   Parent Loop BB4_4 Depth=1
+.LBB4_6:                                # %polly.loop_preheader4
+                                        #   Parent Loop BB4_2 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movq	%r13, %rdi
+	movq	%rbx, %rdi
 	xorl	%esi, %esi
 	movl	$6144, %edx             # imm = 0x1800
 	callq	memset
-	addq	$6144, %r13             # imm = 0x1800
-	incq	%r12
-	cmpq	%r15, %r12
+	addq	$6144, %rbx             # imm = 0x1800
+	incq	%r13
+	cmpq	%r12, %r13
 	jle	.LBB4_6
-	jmp	.LBB4_3
-.Ltmp32:
-	.size	main.omp_subfn, .Ltmp32-main.omp_subfn
-.Ltmp33:
+.LBB4_3:                                # %omp.checkNext.backedge
+                                        #   in Loop: Header=BB4_2 Depth=1
+	movq	%r14, %rdi
+	movq	%r15, %rsi
+	callq	GOMP_loop_runtime_next
+	testb	%al, %al
+	jne	.LBB4_2
+.LBB4_4:                                # %omp.exit
+	callq	GOMP_loop_end_nowait
+	addq	$24, %rsp
+	popq	%rbx
+	popq	%r12
+	popq	%r13
+	popq	%r14
+	popq	%r15
+	popq	%rbp
+	ret
+.Ltmp54:
+	.size	main.omp_subfn, .Ltmp54-main.omp_subfn
 	.cfi_endproc
-.Leh_func_end4:
 
 	.align	16, 0x90
 	.type	main.omp_subfn1, at function
 main.omp_subfn1:                        # @main.omp_subfn1
-.Leh_func_begin5:
-.Ltmp41:
 	.cfi_startproc
 # BB#0:                                 # %omp.setup
 	pushq	%rbp
-.Ltmp42:
+.Ltmp58:
 	.cfi_def_cfa_offset 16
+.Ltmp59:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp60:
+	.cfi_def_cfa_register %rbp
 	pushq	%r15
-.Ltmp43:
-	.cfi_def_cfa_offset 24
 	pushq	%r14
-.Ltmp44:
-	.cfi_def_cfa_offset 32
 	pushq	%r13
-.Ltmp45:
-	.cfi_def_cfa_offset 40
 	pushq	%r12
-.Ltmp46:
-	.cfi_def_cfa_offset 48
 	pushq	%rbx
-.Ltmp47:
-	.cfi_def_cfa_offset 56
-	subq	$40, %rsp
-.Ltmp48:
-	.cfi_def_cfa_offset 96
-.Ltmp49:
-	.cfi_offset 3, -56
-.Ltmp50:
-	.cfi_offset 12, -48
-.Ltmp51:
-	.cfi_offset 13, -40
-.Ltmp52:
-	.cfi_offset 14, -32
-.Ltmp53:
-	.cfi_offset 15, -24
-.Ltmp54:
-	.cfi_offset 6, -16
-	leaq	32(%rsp), %rdi
-	leaq	24(%rsp), %rsi
+	subq	$72, %rsp
+.Ltmp61:
+	.cfi_offset %rbx, -56
+.Ltmp62:
+	.cfi_offset %r12, -48
+.Ltmp63:
+	.cfi_offset %r13, -40
+.Ltmp64:
+	.cfi_offset %r14, -32
+.Ltmp65:
+	.cfi_offset %r15, -24
 	jmp	.LBB5_1
 	.align	16, 0x90
-.LBB5_4:                                # %omp.loadIVBounds
+.LBB5_2:                                # %omp.loadIVBounds
                                         #   in Loop: Header=BB5_1 Depth=1
-	movq	24(%rsp), %rax
-	decq	%rax
-	movq	%rax, (%rsp)            # 8-byte Spill
-	movq	32(%rsp), %rcx
+	movq	-56(%rbp), %rax
+	movq	%rax, -112(%rbp)        # 8-byte Spill
+	leaq	-1(%rax), %rax
+	movq	-48(%rbp), %rcx
 	cmpq	%rax, %rcx
-	jg	.LBB5_3
-# BB#5:                                 # %polly.loop_header2.preheader.lr.ph
+	jg	.LBB5_1
+# BB#3:                                 # %polly.loop_preheader4.preheader
                                         #   in Loop: Header=BB5_1 Depth=1
-	leaq	(%rcx,%rcx,2), %rax
-	movq	%rcx, %rdx
-	shlq	$9, %rdx
-	leaq	(%rdx,%rdx,2), %rdx
-	movq	%rdx, 16(%rsp)          # 8-byte Spill
-	shlq	$11, %rax
-	leaq	A(%rax), %rax
-	movq	%rax, 8(%rsp)           # 8-byte Spill
-	jmp	.LBB5_7
+	leaq	-1(%rcx), %rax
+	movq	%rax, -88(%rbp)         # 8-byte Spill
+	addq	$-65, -112(%rbp)        # 8-byte Folded Spill
+	movq	%rcx, %rax
+	shlq	$9, %rax
+	leaq	(%rax,%rax,2), %rax
+	leaq	C+16(,%rax,4), %rax
+	movq	%rax, -104(%rbp)        # 8-byte Spill
 	.align	16, 0x90
-.LBB5_6:                                # %polly.loop_header.loopexit
-                                        #   in Loop: Header=BB5_7 Depth=2
-	addq	$98304, 16(%rsp)        # 8-byte Folded Spill
-                                        # imm = 0x18000
-	addq	$393216, 8(%rsp)        # 8-byte Folded Spill
-                                        # imm = 0x60000
-	addq	$64, %rcx
-	cmpq	(%rsp), %rcx            # 8-byte Folded Reload
-	jg	.LBB5_3
-.LBB5_7:                                # %polly.loop_header2.preheader
+.LBB5_7:                                # %polly.loop_preheader4
                                         #   Parent Loop BB5_1 Depth=1
                                         # =>  This Loop Header: Depth=2
-                                        #       Child Loop BB5_9 Depth 3
-                                        #         Child Loop BB5_11 Depth 4
+                                        #       Child Loop BB5_8 Depth 3
+                                        #         Child Loop BB5_9 Depth 4
+                                        #           Child Loop BB5_12 Depth 5
+                                        #             Child Loop BB5_17 Depth 6
+                                        #               Child Loop BB5_18 Depth 7
                                         #           Child Loop BB5_14 Depth 5
-                                        #             Child Loop BB5_18 Depth 6
-                                        #               Child Loop BB5_19 Depth 7
-	leaq	63(%rcx), %rax
+	movq	%rcx, -72(%rbp)         # 8-byte Spill
+	leaq	62(%rcx), %rdi
 	xorl	%edx, %edx
-	jmp	.LBB5_9
 	.align	16, 0x90
-.LBB5_8:                                # %polly.loop_header2.loopexit
-                                        #   in Loop: Header=BB5_9 Depth=3
-	addq	$64, %rdx
-	cmpq	$1536, %rdx             # imm = 0x600
-	je	.LBB5_6
-.LBB5_9:                                # %polly.loop_header7.preheader
+.LBB5_8:                                # %polly.loop_preheader11
                                         #   Parent Loop BB5_1 Depth=1
                                         #     Parent Loop BB5_7 Depth=2
                                         # =>    This Loop Header: Depth=3
-                                        #         Child Loop BB5_11 Depth 4
+                                        #         Child Loop BB5_9 Depth 4
+                                        #           Child Loop BB5_12 Depth 5
+                                        #             Child Loop BB5_17 Depth 6
+                                        #               Child Loop BB5_18 Depth 7
                                         #           Child Loop BB5_14 Depth 5
-                                        #             Child Loop BB5_18 Depth 6
-                                        #               Child Loop BB5_19 Depth 7
-	movq	16(%rsp), %rsi          # 8-byte Reload
-	leaq	(%rsi,%rdx), %rsi
-	leaq	63(%rdx), %rdi
-	xorl	%r8d, %r8d
-	movq	8(%rsp), %r9            # 8-byte Reload
-	movq	%rdx, %r10
-	jmp	.LBB5_11
-	.align	16, 0x90
-.LBB5_10:                               # %polly.loop_header7.loopexit
-                                        #   in Loop: Header=BB5_11 Depth=4
-	addq	$256, %r9               # imm = 0x100
-	addq	$98304, %r10            # imm = 0x18000
-	addq	$64, %r8
-	cmpq	$1536, %r8              # imm = 0x600
-	je	.LBB5_8
-.LBB5_11:                               # %polly.loop_body8
+	movq	%rdx, -96(%rbp)         # 8-byte Spill
+	leaq	-4(%rdx), %rcx
+	movq	%rdx, %rax
+	decq	%rax
+	cmovsq	%rcx, %rax
+	movq	%rax, %r14
+	sarq	$63, %r14
+	shrq	$62, %r14
+	addq	%rax, %r14
+	andq	$-4, %r14
+	movq	%rdx, %rax
+	orq	$63, %rax
+	leaq	-4(%rax), %rdx
+	movq	-104(%rbp), %rcx        # 8-byte Reload
+	leaq	(%rcx,%r14,4), %rcx
+	movq	%rcx, -80(%rbp)         # 8-byte Spill
+	leaq	B+16(,%r14,4), %rbx
+	leaq	4(%r14), %rcx
+	movq	%rcx, -64(%rbp)         # 8-byte Spill
+	xorl	%r11d, %r11d
+	.align	16, 0x90
+.LBB5_9:                                # %polly.loop_header10
                                         #   Parent Loop BB5_1 Depth=1
                                         #     Parent Loop BB5_7 Depth=2
-                                        #       Parent Loop BB5_9 Depth=3
+                                        #       Parent Loop BB5_8 Depth=3
                                         # =>      This Loop Header: Depth=4
+                                        #           Child Loop BB5_12 Depth 5
+                                        #             Child Loop BB5_17 Depth 6
+                                        #               Child Loop BB5_18 Depth 7
                                         #           Child Loop BB5_14 Depth 5
-                                        #             Child Loop BB5_18 Depth 6
-                                        #               Child Loop BB5_19 Depth 7
-	movabsq	$9223372036854775744, %r11 # imm = 0x7FFFFFFFFFFFFFC0
-	cmpq	%r11, %rcx
-	jg	.LBB5_10
-# BB#12:                                # %polly.loop_body13.lr.ph
-                                        #   in Loop: Header=BB5_11 Depth=4
-	leaq	63(%r8), %r11
-	movq	%rcx, %rbx
-	movq	%rsi, %r14
-	movq	%r9, %r15
-	jmp	.LBB5_14
-	.align	16, 0x90
-.LBB5_13:                               # %polly.loop_header12.loopexit
-                                        #   in Loop: Header=BB5_14 Depth=5
-	addq	$1536, %r14             # imm = 0x600
-	addq	$6144, %r15             # imm = 0x1800
-	incq	%rbx
-	cmpq	%rax, %rbx
-	jg	.LBB5_10
-.LBB5_14:                               # %polly.loop_body13
+	movabsq	$9223372036854775744, %rcx # imm = 0x7FFFFFFFFFFFFFC0
+	cmpq	%rcx, -72(%rbp)         # 8-byte Folded Reload
+	jg	.LBB5_15
+# BB#10:                                # %polly.loop_header17.preheader
+                                        #   in Loop: Header=BB5_9 Depth=4
+	movq	%r11, %r15
+	orq	$63, %r15
+	cmpq	%r15, %r11
+	movq	-88(%rbp), %rcx         # 8-byte Reload
+	jle	.LBB5_11
+	.align	16, 0x90
+.LBB5_14:                               # %polly.loop_exit28.us
+                                        #   Parent Loop BB5_1 Depth=1
+                                        #     Parent Loop BB5_7 Depth=2
+                                        #       Parent Loop BB5_8 Depth=3
+                                        #         Parent Loop BB5_9 Depth=4
+                                        # =>        This Inner Loop Header: Depth=5
+	incq	%rcx
+	cmpq	%rdi, %rcx
+	jle	.LBB5_14
+	jmp	.LBB5_15
+	.align	16, 0x90
+.LBB5_11:                               #   in Loop: Header=BB5_9 Depth=4
+	decq	%r15
+	movq	-80(%rbp), %r13         # 8-byte Reload
+	movq	-72(%rbp), %rcx         # 8-byte Reload
+	.align	16, 0x90
+.LBB5_12:                               # %polly.loop_header26.preheader
                                         #   Parent Loop BB5_1 Depth=1
                                         #     Parent Loop BB5_7 Depth=2
-                                        #       Parent Loop BB5_9 Depth=3
-                                        #         Parent Loop BB5_11 Depth=4
+                                        #       Parent Loop BB5_8 Depth=3
+                                        #         Parent Loop BB5_9 Depth=4
                                         # =>        This Loop Header: Depth=5
-                                        #             Child Loop BB5_18 Depth 6
-                                        #               Child Loop BB5_19 Depth 7
-	cmpq	%r11, %r8
+                                        #             Child Loop BB5_17 Depth 6
+                                        #               Child Loop BB5_18 Depth 7
+	cmpq	%rax, -64(%rbp)         # 8-byte Folded Reload
+	movq	%rbx, %r12
+	movq	%r11, %r8
 	jg	.LBB5_13
-# BB#15:                                # %polly.loop_body13
-                                        #   in Loop: Header=BB5_14 Depth=5
-	cmpq	%rdi, %rdx
-	jg	.LBB5_13
-# BB#16:                                # %polly.loop_body23.lr.ph.preheader
-                                        #   in Loop: Header=BB5_14 Depth=5
-	xorl	%r12d, %r12d
-	movq	%r10, %r13
-	jmp	.LBB5_18
-	.align	16, 0x90
-.LBB5_17:                               # %polly.loop_header17.loopexit
-                                        #   in Loop: Header=BB5_18 Depth=6
-	addq	$1536, %r13             # imm = 0x600
-	incq	%r12
-	cmpq	$64, %r12
-	je	.LBB5_13
-.LBB5_18:                               # %polly.loop_body23.lr.ph
+	.align	16, 0x90
+.LBB5_17:                               # %polly.loop_header35.preheader
                                         #   Parent Loop BB5_1 Depth=1
                                         #     Parent Loop BB5_7 Depth=2
-                                        #       Parent Loop BB5_9 Depth=3
-                                        #         Parent Loop BB5_11 Depth=4
-                                        #           Parent Loop BB5_14 Depth=5
+                                        #       Parent Loop BB5_8 Depth=3
+                                        #         Parent Loop BB5_9 Depth=4
+                                        #           Parent Loop BB5_12 Depth=5
                                         # =>          This Loop Header: Depth=6
-                                        #               Child Loop BB5_19 Depth 7
-	movss	(%r15,%r12,4), %xmm0
-	pshufd	$0, %xmm0, %xmm0        # xmm0 = xmm0[0,0,0,0]
-	xorl	%ebp, %ebp
-	.align	16, 0x90
-.LBB5_19:                               # %polly.loop_body23
+                                        #               Child Loop BB5_18 Depth 7
+	leaq	(%rcx,%rcx,2), %rsi
+	shlq	$11, %rsi
+	vbroadcastss	A(%rsi,%r8,4), %xmm0
+	movq	%r13, %r9
+	movq	%r12, %r10
+	movq	%r14, %rsi
+.LBB5_18:                               # %polly.loop_header35
                                         #   Parent Loop BB5_1 Depth=1
                                         #     Parent Loop BB5_7 Depth=2
-                                        #       Parent Loop BB5_9 Depth=3
-                                        #         Parent Loop BB5_11 Depth=4
-                                        #           Parent Loop BB5_14 Depth=5
-                                        #             Parent Loop BB5_18 Depth=6
+                                        #       Parent Loop BB5_8 Depth=3
+                                        #         Parent Loop BB5_9 Depth=4
+                                        #           Parent Loop BB5_12 Depth=5
+                                        #             Parent Loop BB5_17 Depth=6
                                         # =>            This Inner Loop Header: Depth=7
-	movaps	B(%rbp,%r13,4), %xmm1
-	mulps	%xmm0, %xmm1
-	addps	C(%rbp,%r14,4), %xmm1
-	movaps	%xmm1, C(%rbp,%r14,4)
-	addq	$16, %rbp
-	cmpq	$256, %rbp              # imm = 0x100
-	jne	.LBB5_19
-	jmp	.LBB5_17
-.LBB5_3:                                # %omp.checkNext.loopexit
-                                        #   in Loop: Header=BB5_1 Depth=1
-	leaq	32(%rsp), %rax
-	movq	%rax, %rdi
-	leaq	24(%rsp), %rax
-	movq	%rax, %rsi
+	vmulps	(%r10), %xmm0, %xmm1
+	vaddps	(%r9), %xmm1, %xmm1
+	vmovaps	%xmm1, (%r9)
+	addq	$16, %r9
+	addq	$16, %r10
+	addq	$4, %rsi
+	cmpq	%rdx, %rsi
+	jle	.LBB5_18
+# BB#16:                                # %polly.loop_exit37
+                                        #   in Loop: Header=BB5_17 Depth=6
+	addq	$6144, %r12             # imm = 0x1800
+	cmpq	%r15, %r8
+	leaq	1(%r8), %r8
+	jle	.LBB5_17
+	.align	16, 0x90
+.LBB5_13:                               # %polly.loop_exit28
+                                        #   in Loop: Header=BB5_12 Depth=5
+	addq	$6144, %r13             # imm = 0x1800
+	cmpq	%rdi, %rcx
+	leaq	1(%rcx), %rcx
+	jle	.LBB5_12
+	.align	16, 0x90
+.LBB5_15:                               # %polly.loop_exit19
+                                        #   in Loop: Header=BB5_9 Depth=4
+	addq	$393216, %rbx           # imm = 0x60000
+	cmpq	$1472, %r11             # imm = 0x5C0
+	leaq	64(%r11), %r11
+	jl	.LBB5_9
+# BB#5:                                 # %polly.loop_exit12
+                                        #   in Loop: Header=BB5_8 Depth=3
+	movq	-96(%rbp), %rdx         # 8-byte Reload
+	cmpq	$1472, %rdx             # imm = 0x5C0
+	leaq	64(%rdx), %rdx
+	jl	.LBB5_8
+# BB#6:                                 # %polly.loop_exit5
+                                        #   in Loop: Header=BB5_7 Depth=2
+	addq	$64, -88(%rbp)          # 8-byte Folded Spill
+	addq	$393216, -104(%rbp)     # 8-byte Folded Spill
+                                        # imm = 0x60000
+	movq	-72(%rbp), %rcx         # 8-byte Reload
+	cmpq	-112(%rbp), %rcx        # 8-byte Folded Reload
+	leaq	64(%rcx), %rcx
+	jle	.LBB5_7
 .LBB5_1:                                # %omp.setup
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB5_7 Depth 2
-                                        #       Child Loop BB5_9 Depth 3
-                                        #         Child Loop BB5_11 Depth 4
+                                        #       Child Loop BB5_8 Depth 3
+                                        #         Child Loop BB5_9 Depth 4
+                                        #           Child Loop BB5_12 Depth 5
+                                        #             Child Loop BB5_17 Depth 6
+                                        #               Child Loop BB5_18 Depth 7
                                         #           Child Loop BB5_14 Depth 5
-                                        #             Child Loop BB5_18 Depth 6
-                                        #               Child Loop BB5_19 Depth 7
+	leaq	-48(%rbp), %rdi
+	leaq	-56(%rbp), %rsi
 	callq	GOMP_loop_runtime_next
-	testb	$1, %al
-	jne	.LBB5_4
-# BB#2:                                 # %omp.exit
+	testb	%al, %al
+	jne	.LBB5_2
+# BB#4:                                 # %omp.exit
 	callq	GOMP_loop_end_nowait
-	addq	$40, %rsp
+	addq	$72, %rsp
 	popq	%rbx
 	popq	%r12
 	popq	%r13
@@ -606,11 +734,9 @@ main.omp_subfn1:
 	popq	%r15
 	popq	%rbp
 	ret
-.Ltmp55:
-	.size	main.omp_subfn1, .Ltmp55-main.omp_subfn1
-.Ltmp56:
+.Ltmp66:
+	.size	main.omp_subfn1, .Ltmp66-main.omp_subfn1
 	.cfi_endproc
-.Leh_func_end5:
 
 	.type	A, at object               # @A
 	.comm	A,9437184,16

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.exe
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled%2Bvector.exe?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.exe (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.exe Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.ll
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled%2Bvector.ll?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.ll (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.ll Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.s
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled%2Bvector.s?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.s (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled+vector.s Wed Jun  5 21:48:13 2013
@@ -2,76 +2,112 @@
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI0_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	init_array
 	.align	16, 0x90
 	.type	init_array, at function
 init_array:                             # @init_array
-# BB#0:                                 # %pollyBB
-	xorl	%eax, %eax
-	movsd	.LCPI0_0(%rip), %xmm0
-	movq	%rax, %rcx
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp2:
+	.cfi_def_cfa_offset 16
+.Ltmp3:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp4:
+	.cfi_def_cfa_register %rbp
+	xorl	%r8d, %r8d
+	vmovsd	.LCPI0_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB0_2:                                # %polly.loop_header1.preheader
+.LBB0_1:                                # %polly.loop_preheader3
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB0_3 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+                                        #     Child Loop BB0_2 Depth 2
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB0_3:                                # %polly.loop_body2
-                                        #   Parent Loop BB0_2 Depth=1
+.LBB0_2:                                # %polly.loop_header2
+                                        #   Parent Loop BB0_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
-	jne	.LBB0_3
-# BB#1:                                 # %polly.loop_header.loopexit
-                                        #   in Loop: Header=BB0_2 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+	movl	%ecx, %edx
+	imull	%r8d, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%r8, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB0_2
-# BB#4:                                 # %polly.after_loop
+# BB#3:                                 # %polly.loop_exit4
+                                        #   in Loop: Header=BB0_1 Depth=1
+	incq	%r8
+	cmpq	$1536, %r8              # imm = 0x600
+	jne	.LBB0_1
+# BB#4:                                 # %polly.loop_exit
+	popq	%rbp
 	ret
-.Ltmp0:
-	.size	init_array, .Ltmp0-init_array
+.Ltmp5:
+	.size	init_array, .Ltmp5-init_array
+	.cfi_endproc
 
 	.globl	print_array
 	.align	16, 0x90
 	.type	print_array, at function
 print_array:                            # @print_array
-# BB#0:
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp9:
+	.cfi_def_cfa_offset 16
+.Ltmp10:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp11:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
 	pushq	%r14
+	pushq	%r12
 	pushq	%rbx
-	pushq	%rax
-	movq	$-9437184, %rbx         # imm = 0xFFFFFFFFFF700000
+.Ltmp12:
+	.cfi_offset %rbx, -48
+.Ltmp13:
+	.cfi_offset %r12, -40
+.Ltmp14:
+	.cfi_offset %r14, -32
+.Ltmp15:
+	.cfi_offset %r15, -24
+	xorl	%r14d, %r14d
+	movl	$C, %r15d
 	.align	16, 0x90
-.LBB1_1:                                # %.preheader
+.LBB1_1:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB1_2 Depth 2
-	xorl	%r14d, %r14d
-	movq	stdout(%rip), %rdi
+	movq	stdout(%rip), %rax
+	movq	%r15, %r12
+	xorl	%ebx, %ebx
 	.align	16, 0x90
-.LBB1_2:                                #   Parent Loop BB1_1 Depth=1
+.LBB1_2:                                # %for.body3
+                                        #   Parent Loop BB1_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movss	C+9437184(%rbx,%r14,4), %xmm0
-	cvtss2sd	%xmm0, %xmm0
+	vmovss	(%r12), %xmm0
+	vcvtss2sd	%xmm0, %xmm0, %xmm0
+	movq	%rax, %rdi
 	movl	$.L.str, %esi
 	movb	$1, %al
 	callq	fprintf
-	movslq	%r14d, %rax
+	movslq	%ebx, %rax
 	imulq	$1717986919, %rax, %rcx # imm = 0x66666667
 	movq	%rcx, %rdx
 	shrq	$63, %rdx
@@ -81,217 +117,258 @@ print_array:
 	subl	%ecx, %eax
 	cmpl	$79, %eax
 	jne	.LBB1_4
-# BB#3:                                 #   in Loop: Header=BB1_2 Depth=2
+# BB#3:                                 # %if.then
+                                        #   in Loop: Header=BB1_2 Depth=2
 	movq	stdout(%rip), %rsi
 	movl	$10, %edi
 	callq	fputc
-.LBB1_4:                                #   in Loop: Header=BB1_2 Depth=2
-	incq	%r14
-	movq	stdout(%rip), %rsi
-	cmpq	$1536, %r14             # imm = 0x600
-	movq	%rsi, %rdi
+.LBB1_4:                                # %for.inc
+                                        #   in Loop: Header=BB1_2 Depth=2
+	addq	$4, %r12
+	incq	%rbx
+	movq	stdout(%rip), %rax
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB1_2
-# BB#5:                                 #   in Loop: Header=BB1_1 Depth=1
+# BB#5:                                 # %for.end
+                                        #   in Loop: Header=BB1_1 Depth=1
 	movl	$10, %edi
+	movq	%rax, %rsi
 	callq	fputc
-	addq	$6144, %rbx             # imm = 0x1800
+	addq	$6144, %r15             # imm = 0x1800
+	incq	%r14
+	cmpq	$1536, %r14             # imm = 0x600
 	jne	.LBB1_1
-# BB#6:
-	addq	$8, %rsp
+# BB#6:                                 # %for.end12
 	popq	%rbx
+	popq	%r12
 	popq	%r14
+	popq	%r15
+	popq	%rbp
 	ret
-.Ltmp1:
-	.size	print_array, .Ltmp1-print_array
+.Ltmp16:
+	.size	print_array, .Ltmp16-print_array
+	.cfi_endproc
 
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI2_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	main
 	.align	16, 0x90
 	.type	main, at function
 main:                                   # @main
-# BB#0:                                 # %pollyBB
+	.cfi_startproc
+# BB#0:                                 # %entry
 	pushq	%rbp
+.Ltmp20:
+	.cfi_def_cfa_offset 16
+.Ltmp21:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp22:
+	.cfi_def_cfa_register %rbp
 	pushq	%r15
 	pushq	%r14
 	pushq	%r13
 	pushq	%r12
 	pushq	%rbx
-	subq	$24, %rsp
-	xorl	%eax, %eax
-	movsd	.LCPI2_0(%rip), %xmm0
-	movq	%rax, %rcx
+	subq	$56, %rsp
+.Ltmp23:
+	.cfi_offset %rbx, -56
+.Ltmp24:
+	.cfi_offset %r12, -48
+.Ltmp25:
+	.cfi_offset %r13, -40
+.Ltmp26:
+	.cfi_offset %r14, -32
+.Ltmp27:
+	.cfi_offset %r15, -24
+	xorl	%ebx, %ebx
+	vmovsd	.LCPI2_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB2_1:                                # %polly.loop_header1.preheader.i
+.LBB2_1:                                # %polly.loop_preheader3.i
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB2_2 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB2_2:                                # %polly.loop_body2.i
+.LBB2_2:                                # %polly.loop_header2.i
                                         #   Parent Loop BB2_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
+	movl	%ecx, %edx
+	imull	%ebx, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%rbx, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB2_2
-# BB#3:                                 # %polly.loop_header.loopexit.i
+# BB#3:                                 # %polly.loop_exit4.i
                                         #   in Loop: Header=BB2_1 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+	incq	%rbx
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB2_1
-# BB#4:                                 # %polly.loop_header.preheader
+# BB#4:                                 # %polly.loop_preheader3.preheader
 	movl	$C, %edi
 	xorl	%esi, %esi
 	movl	$9437184, %edx          # imm = 0x900000
 	callq	memset
-	xorl	%eax, %eax
-	movq	%rax, 16(%rsp)          # 8-byte Spill
-	movq	%rax, (%rsp)            # 8-byte Spill
-	jmp	.LBB2_6
-	.align	16, 0x90
-.LBB2_5:                                # %polly.loop_header7.loopexit
-                                        #   in Loop: Header=BB2_6 Depth=1
-	addq	$393216, (%rsp)         # 8-byte Folded Spill
-                                        # imm = 0x60000
-	movq	16(%rsp), %rax          # 8-byte Reload
-	addq	$64, %rax
-	movq	%rax, 16(%rsp)          # 8-byte Spill
-	cmpq	$1536, %rax             # imm = 0x600
-	je	.LBB2_7
-.LBB2_6:                                # %polly.loop_header12.preheader
+	xorl	%esi, %esi
+	movl	$C+16, %eax
+	movq	%rax, -88(%rbp)         # 8-byte Spill
+	.align	16, 0x90
+.LBB2_5:                                # %polly.loop_preheader17
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB2_9 Depth 2
-                                        #       Child Loop BB2_11 Depth 3
-                                        #         Child Loop BB2_14 Depth 4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	movq	16(%rsp), %rax          # 8-byte Reload
-	leaq	63(%rax), %rax
-	movq	(%rsp), %rcx            # 8-byte Reload
-	leaq	A(%rcx), %rdx
-	movq	%rdx, 8(%rsp)           # 8-byte Spill
+                                        #     Child Loop BB2_15 Depth 2
+                                        #       Child Loop BB2_8 Depth 3
+                                        #         Child Loop BB2_11 Depth 4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	movq	%rsi, -56(%rbp)         # 8-byte Spill
+	movq	%rsi, %rax
+	orq	$63, %rax
+	movq	%rax, -72(%rbp)         # 8-byte Spill
+	leaq	-1(%rax), %rax
+	movq	%rax, -48(%rbp)         # 8-byte Spill
 	xorl	%edx, %edx
-	jmp	.LBB2_9
 	.align	16, 0x90
-.LBB2_8:                                # %polly.loop_header12.loopexit
-                                        #   in Loop: Header=BB2_9 Depth=2
-	addq	$256, %rcx              # imm = 0x100
-	addq	$64, %rdx
-	cmpq	$1536, %rdx             # imm = 0x600
-	je	.LBB2_5
-.LBB2_9:                                # %polly.loop_header17.preheader
-                                        #   Parent Loop BB2_6 Depth=1
+.LBB2_15:                               # %polly.loop_preheader24
+                                        #   Parent Loop BB2_5 Depth=1
                                         # =>  This Loop Header: Depth=2
-                                        #       Child Loop BB2_11 Depth 3
-                                        #         Child Loop BB2_14 Depth 4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	leaq	63(%rdx), %rsi
-	xorl	%edi, %edi
-	movq	8(%rsp), %r8            # 8-byte Reload
-	movq	%rdx, %r9
-	jmp	.LBB2_11
-	.align	16, 0x90
-.LBB2_10:                               # %polly.loop_header17.loopexit
-                                        #   in Loop: Header=BB2_11 Depth=3
-	addq	$256, %r8               # imm = 0x100
-	addq	$98304, %r9             # imm = 0x18000
-	addq	$64, %rdi
-	cmpq	$1536, %rdi             # imm = 0x600
-	je	.LBB2_8
-.LBB2_11:                               # %polly.loop_body18
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
+                                        #       Child Loop BB2_8 Depth 3
+                                        #         Child Loop BB2_11 Depth 4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	movq	%rdx, -80(%rbp)         # 8-byte Spill
+	leaq	-4(%rdx), %rcx
+	movq	%rdx, %rax
+	decq	%rax
+	cmovsq	%rcx, %rax
+	movq	%rax, %r15
+	sarq	$63, %r15
+	shrq	$62, %r15
+	addq	%rax, %r15
+	andq	$-4, %r15
+	movq	%rdx, %r13
+	orq	$63, %r13
+	leaq	-4(%r13), %rdx
+	xorl	%r10d, %r10d
+	movq	-88(%rbp), %rax         # 8-byte Reload
+	leaq	(%rax,%r15,4), %rax
+	movq	%rax, -64(%rbp)         # 8-byte Spill
+	leaq	B+16(,%r15,4), %rbx
+	leaq	4(%r15), %r12
+	.align	16, 0x90
+.LBB2_8:                                # %polly.loop_header23
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
                                         # =>    This Loop Header: Depth=3
-                                        #         Child Loop BB2_14 Depth 4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	cmpq	%rax, 16(%rsp)          # 8-byte Folded Reload
-	jg	.LBB2_10
-# BB#12:                                # %polly.loop_body23.lr.ph
-                                        #   in Loop: Header=BB2_11 Depth=3
-	leaq	63(%rdi), %r10
-	xorl	%r11d, %r11d
-	jmp	.LBB2_14
-	.align	16, 0x90
-.LBB2_13:                               # %polly.loop_header22.loopexit
-                                        #   in Loop: Header=BB2_14 Depth=4
-	addq	$6144, %r11             # imm = 0x1800
-	cmpq	$393216, %r11           # imm = 0x60000
-	je	.LBB2_10
-.LBB2_14:                               # %polly.loop_body23
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
-                                        #       Parent Loop BB2_11 Depth=3
-                                        # =>      This Loop Header: Depth=4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	cmpq	%r10, %rdi
+                                        #         Child Loop BB2_11 Depth 4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	cmpq	-72(%rbp), %rsi         # 8-byte Folded Reload
 	jg	.LBB2_13
-# BB#15:                                # %polly.loop_body23
-                                        #   in Loop: Header=BB2_14 Depth=4
-	cmpq	%rsi, %rdx
+# BB#9:                                 # %polly.loop_header30.preheader
+                                        #   in Loop: Header=BB2_8 Depth=3
+	movq	%r10, %rax
+	orq	$63, %rax
+	cmpq	%rax, %r10
 	jg	.LBB2_13
-# BB#16:                                # %polly.loop_body33.lr.ph.preheader
-                                        #   in Loop: Header=BB2_14 Depth=4
-	leaq	(%r8,%r11), %rbx
-	xorl	%r14d, %r14d
-	movq	%r9, %r15
-	movq	%r14, %r12
-	jmp	.LBB2_18
-	.align	16, 0x90
-.LBB2_17:                               # %polly.loop_header27.loopexit
-                                        #   in Loop: Header=BB2_18 Depth=5
-	addq	$1536, %r15             # imm = 0x600
-	incq	%r12
-	cmpq	$64, %r12
-	je	.LBB2_13
-.LBB2_18:                               # %polly.loop_body33.lr.ph
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
-                                        #       Parent Loop BB2_11 Depth=3
-                                        #         Parent Loop BB2_14 Depth=4
+# BB#10:                                #   in Loop: Header=BB2_8 Depth=3
+	decq	%rax
+	movq	-64(%rbp), %r14         # 8-byte Reload
+	movq	-56(%rbp), %r11         # 8-byte Reload
+	.align	16, 0x90
+.LBB2_11:                               # %polly.loop_header37.preheader
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
+                                        #       Parent Loop BB2_8 Depth=3
+                                        # =>      This Loop Header: Depth=4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	cmpq	%r13, %r12
+	movq	%rbx, %r8
+	movq	%r10, %rsi
+	jg	.LBB2_12
+	.align	16, 0x90
+.LBB2_17:                               # %polly.loop_header46.preheader
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
+                                        #       Parent Loop BB2_8 Depth=3
+                                        #         Parent Loop BB2_11 Depth=4
                                         # =>        This Loop Header: Depth=5
-                                        #             Child Loop BB2_19 Depth 6
-	movss	(%rbx,%r12,4), %xmm0
-	pshufd	$0, %xmm0, %xmm0        # xmm0 = xmm0[0,0,0,0]
-	movq	%r14, %r13
-	.align	16, 0x90
-.LBB2_19:                               # %polly.loop_body33
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
-                                        #       Parent Loop BB2_11 Depth=3
-                                        #         Parent Loop BB2_14 Depth=4
-                                        #           Parent Loop BB2_18 Depth=5
+                                        #             Child Loop BB2_18 Depth 6
+	leaq	(%r11,%r11,2), %rcx
+	shlq	$11, %rcx
+	vbroadcastss	A(%rcx,%rsi,4), %xmm0
+	movq	%r14, %rdi
+	movq	%r8, %r9
+	movq	%r15, %rcx
+.LBB2_18:                               # %polly.loop_header46
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
+                                        #       Parent Loop BB2_8 Depth=3
+                                        #         Parent Loop BB2_11 Depth=4
+                                        #           Parent Loop BB2_17 Depth=5
                                         # =>          This Inner Loop Header: Depth=6
-	movaps	B(%r13,%r15,4), %xmm1
-	mulps	%xmm0, %xmm1
-	leaq	(%r11,%r13), %rbp
-	addps	C(%rcx,%rbp), %xmm1
-	movaps	%xmm1, C(%rcx,%rbp)
-	addq	$16, %r13
-	cmpq	$256, %r13              # imm = 0x100
-	jne	.LBB2_19
-	jmp	.LBB2_17
-.LBB2_7:                                # %polly.after_loop9
+	vmulps	(%r9), %xmm0, %xmm1
+	vaddps	(%rdi), %xmm1, %xmm1
+	vmovaps	%xmm1, (%rdi)
+	addq	$16, %rdi
+	addq	$16, %r9
+	addq	$4, %rcx
+	cmpq	%rdx, %rcx
+	jle	.LBB2_18
+# BB#16:                                # %polly.loop_exit48
+                                        #   in Loop: Header=BB2_17 Depth=5
+	addq	$6144, %r8              # imm = 0x1800
+	cmpq	%rax, %rsi
+	leaq	1(%rsi), %rsi
+	jle	.LBB2_17
+	.align	16, 0x90
+.LBB2_12:                               # %polly.loop_exit39
+                                        #   in Loop: Header=BB2_11 Depth=4
+	addq	$6144, %r14             # imm = 0x1800
+	cmpq	-48(%rbp), %r11         # 8-byte Folded Reload
+	leaq	1(%r11), %r11
+	jle	.LBB2_11
+	.align	16, 0x90
+.LBB2_13:                               # %polly.loop_exit32
+                                        #   in Loop: Header=BB2_8 Depth=3
+	addq	$393216, %rbx           # imm = 0x60000
+	cmpq	$1472, %r10             # imm = 0x5C0
+	leaq	64(%r10), %r10
+	movq	-56(%rbp), %rsi         # 8-byte Reload
+	jl	.LBB2_8
+# BB#14:                                # %polly.loop_exit25
+                                        #   in Loop: Header=BB2_15 Depth=2
+	movq	-80(%rbp), %rdx         # 8-byte Reload
+	cmpq	$1472, %rdx             # imm = 0x5C0
+	leaq	64(%rdx), %rdx
+	jl	.LBB2_15
+# BB#6:                                 # %polly.loop_exit18
+                                        #   in Loop: Header=BB2_5 Depth=1
+	addq	$393216, -88(%rbp)      # 8-byte Folded Spill
+                                        # imm = 0x60000
+	cmpq	$1472, %rsi             # imm = 0x5C0
+	leaq	64(%rsi), %rsi
+	jl	.LBB2_5
+# BB#7:                                 # %polly.loop_exit11
 	xorl	%eax, %eax
-	addq	$24, %rsp
+	addq	$56, %rsp
 	popq	%rbx
 	popq	%r12
 	popq	%r13
@@ -299,8 +376,9 @@ main:
 	popq	%r15
 	popq	%rbp
 	ret
-.Ltmp2:
-	.size	main, .Ltmp2-main
+.Ltmp28:
+	.size	main, .Ltmp28-main
+	.cfi_endproc
 
 	.type	A, at object               # @A
 	.comm	A,9437184,16

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.exe
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled.exe?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.exe (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.exe Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.ll
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled.ll?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.ll (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.ll Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.s
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged%2Btiled.s?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.s (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged+tiled.s Wed Jun  5 21:48:13 2013
@@ -2,76 +2,112 @@
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI0_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	init_array
 	.align	16, 0x90
 	.type	init_array, at function
 init_array:                             # @init_array
-# BB#0:                                 # %pollyBB
-	xorl	%eax, %eax
-	movsd	.LCPI0_0(%rip), %xmm0
-	movq	%rax, %rcx
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp2:
+	.cfi_def_cfa_offset 16
+.Ltmp3:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp4:
+	.cfi_def_cfa_register %rbp
+	xorl	%r8d, %r8d
+	vmovsd	.LCPI0_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB0_2:                                # %polly.loop_header1.preheader
+.LBB0_1:                                # %polly.loop_preheader3
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB0_3 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+                                        #     Child Loop BB0_2 Depth 2
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB0_3:                                # %polly.loop_body2
-                                        #   Parent Loop BB0_2 Depth=1
+.LBB0_2:                                # %polly.loop_header2
+                                        #   Parent Loop BB0_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
-	jne	.LBB0_3
-# BB#1:                                 # %polly.loop_header.loopexit
-                                        #   in Loop: Header=BB0_2 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+	movl	%ecx, %edx
+	imull	%r8d, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%r8, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB0_2
-# BB#4:                                 # %polly.after_loop
+# BB#3:                                 # %polly.loop_exit4
+                                        #   in Loop: Header=BB0_1 Depth=1
+	incq	%r8
+	cmpq	$1536, %r8              # imm = 0x600
+	jne	.LBB0_1
+# BB#4:                                 # %polly.loop_exit
+	popq	%rbp
 	ret
-.Ltmp0:
-	.size	init_array, .Ltmp0-init_array
+.Ltmp5:
+	.size	init_array, .Ltmp5-init_array
+	.cfi_endproc
 
 	.globl	print_array
 	.align	16, 0x90
 	.type	print_array, at function
 print_array:                            # @print_array
-# BB#0:
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp9:
+	.cfi_def_cfa_offset 16
+.Ltmp10:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp11:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
 	pushq	%r14
+	pushq	%r12
 	pushq	%rbx
-	pushq	%rax
-	movq	$-9437184, %rbx         # imm = 0xFFFFFFFFFF700000
+.Ltmp12:
+	.cfi_offset %rbx, -48
+.Ltmp13:
+	.cfi_offset %r12, -40
+.Ltmp14:
+	.cfi_offset %r14, -32
+.Ltmp15:
+	.cfi_offset %r15, -24
+	xorl	%r14d, %r14d
+	movl	$C, %r15d
 	.align	16, 0x90
-.LBB1_1:                                # %.preheader
+.LBB1_1:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB1_2 Depth 2
-	xorl	%r14d, %r14d
-	movq	stdout(%rip), %rdi
+	movq	stdout(%rip), %rax
+	movq	%r15, %r12
+	xorl	%ebx, %ebx
 	.align	16, 0x90
-.LBB1_2:                                #   Parent Loop BB1_1 Depth=1
+.LBB1_2:                                # %for.body3
+                                        #   Parent Loop BB1_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movss	C+9437184(%rbx,%r14,4), %xmm0
-	cvtss2sd	%xmm0, %xmm0
+	vmovss	(%r12), %xmm0
+	vcvtss2sd	%xmm0, %xmm0, %xmm0
+	movq	%rax, %rdi
 	movl	$.L.str, %esi
 	movb	$1, %al
 	callq	fprintf
-	movslq	%r14d, %rax
+	movslq	%ebx, %rax
 	imulq	$1717986919, %rax, %rcx # imm = 0x66666667
 	movq	%rcx, %rdx
 	shrq	$63, %rdx
@@ -81,222 +117,252 @@ print_array:
 	subl	%ecx, %eax
 	cmpl	$79, %eax
 	jne	.LBB1_4
-# BB#3:                                 #   in Loop: Header=BB1_2 Depth=2
+# BB#3:                                 # %if.then
+                                        #   in Loop: Header=BB1_2 Depth=2
 	movq	stdout(%rip), %rsi
 	movl	$10, %edi
 	callq	fputc
-.LBB1_4:                                #   in Loop: Header=BB1_2 Depth=2
-	incq	%r14
-	movq	stdout(%rip), %rsi
-	cmpq	$1536, %r14             # imm = 0x600
-	movq	%rsi, %rdi
+.LBB1_4:                                # %for.inc
+                                        #   in Loop: Header=BB1_2 Depth=2
+	addq	$4, %r12
+	incq	%rbx
+	movq	stdout(%rip), %rax
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB1_2
-# BB#5:                                 #   in Loop: Header=BB1_1 Depth=1
+# BB#5:                                 # %for.end
+                                        #   in Loop: Header=BB1_1 Depth=1
 	movl	$10, %edi
+	movq	%rax, %rsi
 	callq	fputc
-	addq	$6144, %rbx             # imm = 0x1800
+	addq	$6144, %r15             # imm = 0x1800
+	incq	%r14
+	cmpq	$1536, %r14             # imm = 0x600
 	jne	.LBB1_1
-# BB#6:
-	addq	$8, %rsp
+# BB#6:                                 # %for.end12
 	popq	%rbx
+	popq	%r12
 	popq	%r14
+	popq	%r15
+	popq	%rbp
 	ret
-.Ltmp1:
-	.size	print_array, .Ltmp1-print_array
+.Ltmp16:
+	.size	print_array, .Ltmp16-print_array
+	.cfi_endproc
 
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI2_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	main
 	.align	16, 0x90
 	.type	main, at function
 main:                                   # @main
-# BB#0:                                 # %pollyBB
+	.cfi_startproc
+# BB#0:                                 # %entry
 	pushq	%rbp
+.Ltmp20:
+	.cfi_def_cfa_offset 16
+.Ltmp21:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp22:
+	.cfi_def_cfa_register %rbp
 	pushq	%r15
 	pushq	%r14
 	pushq	%r13
 	pushq	%r12
 	pushq	%rbx
-	subq	$40, %rsp
-	xorl	%eax, %eax
-	movsd	.LCPI2_0(%rip), %xmm0
-	movq	%rax, %rcx
+	subq	$56, %rsp
+.Ltmp23:
+	.cfi_offset %rbx, -56
+.Ltmp24:
+	.cfi_offset %r12, -48
+.Ltmp25:
+	.cfi_offset %r13, -40
+.Ltmp26:
+	.cfi_offset %r14, -32
+.Ltmp27:
+	.cfi_offset %r15, -24
+	xorl	%ebx, %ebx
+	vmovsd	.LCPI2_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB2_1:                                # %polly.loop_header1.preheader.i
+.LBB2_1:                                # %polly.loop_preheader3.i
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB2_2 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB2_2:                                # %polly.loop_body2.i
+.LBB2_2:                                # %polly.loop_header2.i
                                         #   Parent Loop BB2_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
+	movl	%ecx, %edx
+	imull	%ebx, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%rbx, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB2_2
-# BB#3:                                 # %polly.loop_header.loopexit.i
+# BB#3:                                 # %polly.loop_exit4.i
                                         #   in Loop: Header=BB2_1 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+	incq	%rbx
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB2_1
-# BB#4:                                 # %polly.loop_header.preheader
-	movl	$C, %eax
-	movq	%rax, 8(%rsp)           # 8-byte Spill
+# BB#4:                                 # %polly.loop_preheader3.preheader
+	movl	$C, %ebx
+	movl	$C, %edi
 	xorl	%esi, %esi
 	movl	$9437184, %edx          # imm = 0x900000
-	movl	$C, %edi
 	callq	memset
-	movl	$A, %eax
-	movq	%rax, 16(%rsp)          # 8-byte Spill
-	movq	$0, 32(%rsp)            # 8-byte Folded Spill
-	jmp	.LBB2_6
-	.align	16, 0x90
-.LBB2_5:                                # %polly.loop_header7.loopexit
-                                        #   in Loop: Header=BB2_6 Depth=1
-	addq	$393216, 16(%rsp)       # 8-byte Folded Spill
-                                        # imm = 0x60000
-	addq	$393216, 8(%rsp)        # 8-byte Folded Spill
-                                        # imm = 0x60000
-	movq	32(%rsp), %rax          # 8-byte Reload
-	addq	$64, %rax
-	movq	%rax, 32(%rsp)          # 8-byte Spill
-	cmpq	$1536, %rax             # imm = 0x600
-	je	.LBB2_7
-.LBB2_6:                                # %polly.loop_header12.preheader
+	xorl	%eax, %eax
+	.align	16, 0x90
+.LBB2_5:                                # %polly.loop_preheader17
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB2_9 Depth 2
-                                        #       Child Loop BB2_11 Depth 3
-                                        #         Child Loop BB2_14 Depth 4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	movq	32(%rsp), %rax          # 8-byte Reload
-	leaq	63(%rax), %rax
+                                        #     Child Loop BB2_15 Depth 2
+                                        #       Child Loop BB2_8 Depth 3
+                                        #         Child Loop BB2_11 Depth 4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	movq	%rax, -56(%rbp)         # 8-byte Spill
+	movq	%rbx, -88(%rbp)         # 8-byte Spill
+	movq	%rax, %rcx
+	orq	$63, %rcx
+	movq	%rcx, -72(%rbp)         # 8-byte Spill
+	leaq	-1(%rcx), %rcx
+	movq	%rcx, -48(%rbp)         # 8-byte Spill
+	movq	$-1, %r15
 	movl	$B, %ecx
-	movq	%rcx, 24(%rsp)          # 8-byte Spill
-	xorl	%ecx, %ecx
-	movq	8(%rsp), %rdx           # 8-byte Reload
-	jmp	.LBB2_9
+	movq	%rbx, -64(%rbp)         # 8-byte Spill
+	xorl	%r12d, %r12d
 	.align	16, 0x90
-.LBB2_8:                                # %polly.loop_header12.loopexit
-                                        #   in Loop: Header=BB2_9 Depth=2
-	addq	$256, %rdx              # imm = 0x100
-	addq	$256, 24(%rsp)          # 8-byte Folded Spill
-                                        # imm = 0x100
-	addq	$64, %rcx
-	cmpq	$1536, %rcx             # imm = 0x600
-	je	.LBB2_5
-.LBB2_9:                                # %polly.loop_header17.preheader
-                                        #   Parent Loop BB2_6 Depth=1
+.LBB2_15:                               # %polly.loop_preheader24
+                                        #   Parent Loop BB2_5 Depth=1
                                         # =>  This Loop Header: Depth=2
-                                        #       Child Loop BB2_11 Depth 3
-                                        #         Child Loop BB2_14 Depth 4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	leaq	63(%rcx), %rsi
-	xorl	%edi, %edi
-	movq	16(%rsp), %r8           # 8-byte Reload
-	movq	24(%rsp), %r9           # 8-byte Reload
-	jmp	.LBB2_11
-	.align	16, 0x90
-.LBB2_10:                               # %polly.loop_header17.loopexit
-                                        #   in Loop: Header=BB2_11 Depth=3
-	addq	$256, %r8               # imm = 0x100
-	addq	$393216, %r9            # imm = 0x60000
-	addq	$64, %rdi
-	cmpq	$1536, %rdi             # imm = 0x600
-	je	.LBB2_8
-.LBB2_11:                               # %polly.loop_body18
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
+                                        #       Child Loop BB2_8 Depth 3
+                                        #         Child Loop BB2_11 Depth 4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	movq	%rcx, -80(%rbp)         # 8-byte Spill
+	movq	%r12, %r13
+	orq	$63, %r13
+	leaq	-1(%r13), %rbx
+	xorl	%r9d, %r9d
+	movq	%rcx, %rdx
+	.align	16, 0x90
+.LBB2_8:                                # %polly.loop_header23
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
                                         # =>    This Loop Header: Depth=3
-                                        #         Child Loop BB2_14 Depth 4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	cmpq	%rax, 32(%rsp)          # 8-byte Folded Reload
-	jg	.LBB2_10
-# BB#12:                                # %polly.loop_body23.lr.ph
-                                        #   in Loop: Header=BB2_11 Depth=3
-	leaq	63(%rdi), %r10
-	xorl	%r11d, %r11d
-	jmp	.LBB2_14
-	.align	16, 0x90
-.LBB2_13:                               # %polly.loop_header22.loopexit
-                                        #   in Loop: Header=BB2_14 Depth=4
-	addq	$6144, %r11             # imm = 0x1800
-	cmpq	$393216, %r11           # imm = 0x60000
-	je	.LBB2_10
-.LBB2_14:                               # %polly.loop_body23
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
-                                        #       Parent Loop BB2_11 Depth=3
-                                        # =>      This Loop Header: Depth=4
-                                        #           Child Loop BB2_18 Depth 5
-                                        #             Child Loop BB2_19 Depth 6
-	cmpq	%r10, %rdi
+                                        #         Child Loop BB2_11 Depth 4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	cmpq	-72(%rbp), %rax         # 8-byte Folded Reload
 	jg	.LBB2_13
-# BB#15:                                # %polly.loop_body23
-                                        #   in Loop: Header=BB2_14 Depth=4
-	cmpq	%rsi, %rcx
+# BB#9:                                 # %polly.loop_header30.preheader
+                                        #   in Loop: Header=BB2_8 Depth=3
+	movq	%r9, %rax
+	orq	$63, %rax
+	cmpq	%rax, %r9
 	jg	.LBB2_13
-# BB#16:                                # %polly.loop_body33.lr.ph.preheader
-                                        #   in Loop: Header=BB2_14 Depth=4
-	leaq	(%rdx,%r11), %rbx
-	leaq	(%r8,%r11), %r14
-	xorl	%r15d, %r15d
-	movq	%r9, %r12
-	movq	%r15, %r13
-	jmp	.LBB2_18
-	.align	16, 0x90
-.LBB2_17:                               # %polly.loop_header27.loopexit
-                                        #   in Loop: Header=BB2_18 Depth=5
-	addq	$6144, %r12             # imm = 0x1800
-	incq	%r13
-	cmpq	$64, %r13
-	je	.LBB2_13
-.LBB2_18:                               # %polly.loop_body33.lr.ph
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
-                                        #       Parent Loop BB2_11 Depth=3
-                                        #         Parent Loop BB2_14 Depth=4
+# BB#10:                                #   in Loop: Header=BB2_8 Depth=3
+	decq	%rax
+	movq	-64(%rbp), %r10         # 8-byte Reload
+	movq	-56(%rbp), %r11         # 8-byte Reload
+	.align	16, 0x90
+.LBB2_11:                               # %polly.loop_header37.preheader
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
+                                        #       Parent Loop BB2_8 Depth=3
+                                        # =>      This Loop Header: Depth=4
+                                        #           Child Loop BB2_17 Depth 5
+                                        #             Child Loop BB2_18 Depth 6
+	cmpq	%r13, %r12
+	movq	%rdx, %r14
+	movq	%r9, %rcx
+	jg	.LBB2_12
+	.align	16, 0x90
+.LBB2_17:                               # %polly.loop_header46.preheader
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
+                                        #       Parent Loop BB2_8 Depth=3
+                                        #         Parent Loop BB2_11 Depth=4
                                         # =>        This Loop Header: Depth=5
-                                        #             Child Loop BB2_19 Depth 6
-	movss	(%r14,%r13,4), %xmm0
-	movq	%r15, %rbp
-	.align	16, 0x90
-.LBB2_19:                               # %polly.loop_body33
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
-                                        #       Parent Loop BB2_11 Depth=3
-                                        #         Parent Loop BB2_14 Depth=4
-                                        #           Parent Loop BB2_18 Depth=5
+                                        #             Child Loop BB2_18 Depth 6
+	leaq	(%r11,%r11,2), %rsi
+	shlq	$11, %rsi
+	vmovss	A(%rsi,%rcx,4), %xmm0
+	movq	%r10, %rdi
+	movq	%r14, %r8
+	movq	%r15, %rsi
+.LBB2_18:                               # %polly.loop_header46
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_15 Depth=2
+                                        #       Parent Loop BB2_8 Depth=3
+                                        #         Parent Loop BB2_11 Depth=4
+                                        #           Parent Loop BB2_17 Depth=5
                                         # =>          This Inner Loop Header: Depth=6
-	movss	(%r12,%rbp,4), %xmm1
-	mulss	%xmm0, %xmm1
-	addss	(%rbx,%rbp,4), %xmm1
-	movss	%xmm1, (%rbx,%rbp,4)
-	incq	%rbp
-	cmpq	$64, %rbp
-	jne	.LBB2_19
-	jmp	.LBB2_17
-.LBB2_7:                                # %polly.after_loop9
+	vmulss	(%r8), %xmm0, %xmm1
+	vaddss	(%rdi), %xmm1, %xmm1
+	vmovss	%xmm1, (%rdi)
+	addq	$4, %rdi
+	addq	$4, %r8
+	incq	%rsi
+	cmpq	%rbx, %rsi
+	jle	.LBB2_18
+# BB#16:                                # %polly.loop_exit48
+                                        #   in Loop: Header=BB2_17 Depth=5
+	addq	$6144, %r14             # imm = 0x1800
+	cmpq	%rax, %rcx
+	leaq	1(%rcx), %rcx
+	jle	.LBB2_17
+	.align	16, 0x90
+.LBB2_12:                               # %polly.loop_exit39
+                                        #   in Loop: Header=BB2_11 Depth=4
+	addq	$6144, %r10             # imm = 0x1800
+	cmpq	-48(%rbp), %r11         # 8-byte Folded Reload
+	leaq	1(%r11), %r11
+	jle	.LBB2_11
+	.align	16, 0x90
+.LBB2_13:                               # %polly.loop_exit32
+                                        #   in Loop: Header=BB2_8 Depth=3
+	addq	$393216, %rdx           # imm = 0x60000
+	cmpq	$1472, %r9              # imm = 0x5C0
+	leaq	64(%r9), %r9
+	movq	-56(%rbp), %rax         # 8-byte Reload
+	jl	.LBB2_8
+# BB#14:                                # %polly.loop_exit25
+                                        #   in Loop: Header=BB2_15 Depth=2
+	addq	$256, -64(%rbp)         # 8-byte Folded Spill
+                                        # imm = 0x100
+	movq	-80(%rbp), %rcx         # 8-byte Reload
+	addq	$256, %rcx              # imm = 0x100
+	addq	$64, %r15
+	cmpq	$1472, %r12             # imm = 0x5C0
+	leaq	64(%r12), %r12
+	jl	.LBB2_15
+# BB#6:                                 # %polly.loop_exit18
+                                        #   in Loop: Header=BB2_5 Depth=1
+	movq	-88(%rbp), %rbx         # 8-byte Reload
+	addq	$393216, %rbx           # imm = 0x60000
+	cmpq	$1472, %rax             # imm = 0x5C0
+	leaq	64(%rax), %rax
+	jl	.LBB2_5
+# BB#7:                                 # %polly.loop_exit11
 	xorl	%eax, %eax
-	addq	$40, %rsp
+	addq	$56, %rsp
 	popq	%rbx
 	popq	%r12
 	popq	%r13
@@ -304,8 +370,9 @@ main:
 	popq	%r15
 	popq	%rbp
 	ret
-.Ltmp2:
-	.size	main, .Ltmp2-main
+.Ltmp28:
+	.size	main, .Ltmp28-main
+	.cfi_endproc
 
 	.type	A, at object               # @A
 	.comm	A,9437184,16

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.exe
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.exe?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.exe (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.exe Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.ll
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.ll?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.ll (original) and polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.ll Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.s
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.s?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.s (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.polly.interchanged.s Wed Jun  5 21:48:13 2013
@@ -2,76 +2,112 @@
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI0_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	init_array
 	.align	16, 0x90
 	.type	init_array, at function
 init_array:                             # @init_array
-# BB#0:                                 # %pollyBB
-	xorl	%eax, %eax
-	movsd	.LCPI0_0(%rip), %xmm0
-	movq	%rax, %rcx
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp2:
+	.cfi_def_cfa_offset 16
+.Ltmp3:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp4:
+	.cfi_def_cfa_register %rbp
+	xorl	%r8d, %r8d
+	vmovsd	.LCPI0_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB0_2:                                # %polly.loop_header1.preheader
+.LBB0_1:                                # %polly.loop_preheader3
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB0_3 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+                                        #     Child Loop BB0_2 Depth 2
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB0_3:                                # %polly.loop_body2
-                                        #   Parent Loop BB0_2 Depth=1
+.LBB0_2:                                # %polly.loop_header2
+                                        #   Parent Loop BB0_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
-	jne	.LBB0_3
-# BB#1:                                 # %polly.loop_header.loopexit
-                                        #   in Loop: Header=BB0_2 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+	movl	%ecx, %edx
+	imull	%r8d, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%r8, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB0_2
-# BB#4:                                 # %polly.after_loop
+# BB#3:                                 # %polly.loop_exit4
+                                        #   in Loop: Header=BB0_1 Depth=1
+	incq	%r8
+	cmpq	$1536, %r8              # imm = 0x600
+	jne	.LBB0_1
+# BB#4:                                 # %polly.loop_exit
+	popq	%rbp
 	ret
-.Ltmp0:
-	.size	init_array, .Ltmp0-init_array
+.Ltmp5:
+	.size	init_array, .Ltmp5-init_array
+	.cfi_endproc
 
 	.globl	print_array
 	.align	16, 0x90
 	.type	print_array, at function
 print_array:                            # @print_array
-# BB#0:
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp9:
+	.cfi_def_cfa_offset 16
+.Ltmp10:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp11:
+	.cfi_def_cfa_register %rbp
+	pushq	%r15
 	pushq	%r14
+	pushq	%r12
 	pushq	%rbx
-	pushq	%rax
-	movq	$-9437184, %rbx         # imm = 0xFFFFFFFFFF700000
+.Ltmp12:
+	.cfi_offset %rbx, -48
+.Ltmp13:
+	.cfi_offset %r12, -40
+.Ltmp14:
+	.cfi_offset %r14, -32
+.Ltmp15:
+	.cfi_offset %r15, -24
+	xorl	%r14d, %r14d
+	movl	$C, %r15d
 	.align	16, 0x90
-.LBB1_1:                                # %.preheader
+.LBB1_1:                                # %for.cond1.preheader
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB1_2 Depth 2
-	xorl	%r14d, %r14d
-	movq	stdout(%rip), %rdi
+	movq	stdout(%rip), %rax
+	movq	%r15, %r12
+	xorl	%ebx, %ebx
 	.align	16, 0x90
-.LBB1_2:                                #   Parent Loop BB1_1 Depth=1
+.LBB1_2:                                # %for.body3
+                                        #   Parent Loop BB1_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movss	C+9437184(%rbx,%r14,4), %xmm0
-	cvtss2sd	%xmm0, %xmm0
+	vmovss	(%r12), %xmm0
+	vcvtss2sd	%xmm0, %xmm0, %xmm0
+	movq	%rax, %rdi
 	movl	$.L.str, %esi
 	movb	$1, %al
 	callq	fprintf
-	movslq	%r14d, %rax
+	movslq	%ebx, %rax
 	imulq	$1717986919, %rax, %rcx # imm = 0x66666667
 	movq	%rcx, %rdx
 	shrq	$63, %rdx
@@ -81,125 +117,158 @@ print_array:
 	subl	%ecx, %eax
 	cmpl	$79, %eax
 	jne	.LBB1_4
-# BB#3:                                 #   in Loop: Header=BB1_2 Depth=2
+# BB#3:                                 # %if.then
+                                        #   in Loop: Header=BB1_2 Depth=2
 	movq	stdout(%rip), %rsi
 	movl	$10, %edi
 	callq	fputc
-.LBB1_4:                                #   in Loop: Header=BB1_2 Depth=2
-	incq	%r14
-	movq	stdout(%rip), %rsi
-	cmpq	$1536, %r14             # imm = 0x600
-	movq	%rsi, %rdi
+.LBB1_4:                                # %for.inc
+                                        #   in Loop: Header=BB1_2 Depth=2
+	addq	$4, %r12
+	incq	%rbx
+	movq	stdout(%rip), %rax
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB1_2
-# BB#5:                                 #   in Loop: Header=BB1_1 Depth=1
+# BB#5:                                 # %for.end
+                                        #   in Loop: Header=BB1_1 Depth=1
 	movl	$10, %edi
+	movq	%rax, %rsi
 	callq	fputc
-	addq	$6144, %rbx             # imm = 0x1800
+	addq	$6144, %r15             # imm = 0x1800
+	incq	%r14
+	cmpq	$1536, %r14             # imm = 0x600
 	jne	.LBB1_1
-# BB#6:
-	addq	$8, %rsp
+# BB#6:                                 # %for.end12
 	popq	%rbx
+	popq	%r12
 	popq	%r14
+	popq	%r15
+	popq	%rbp
 	ret
-.Ltmp1:
-	.size	print_array, .Ltmp1-print_array
+.Ltmp16:
+	.size	print_array, .Ltmp16-print_array
+	.cfi_endproc
 
 	.section	.rodata.cst8,"aM", at progbits,8
 	.align	8
 .LCPI2_0:
-	.quad	4602678819172646912     # double 5.000000e-01
+	.quad	4602678819172646912     # double 0.5
 	.text
 	.globl	main
 	.align	16, 0x90
 	.type	main, at function
 main:                                   # @main
-# BB#0:                                 # %pollyBB
-	pushq	%rax
-	xorl	%eax, %eax
-	movsd	.LCPI2_0(%rip), %xmm0
-	movq	%rax, %rcx
+	.cfi_startproc
+# BB#0:                                 # %entry
+	pushq	%rbp
+.Ltmp20:
+	.cfi_def_cfa_offset 16
+.Ltmp21:
+	.cfi_offset %rbp, -16
+	movq	%rsp, %rbp
+.Ltmp22:
+	.cfi_def_cfa_register %rbp
+	pushq	%r14
+	pushq	%rbx
+.Ltmp23:
+	.cfi_offset %rbx, -32
+.Ltmp24:
+	.cfi_offset %r14, -24
+	xorl	%ebx, %ebx
+	vmovsd	.LCPI2_0(%rip), %xmm0
 	.align	16, 0x90
-.LBB2_1:                                # %polly.loop_header1.preheader.i
+.LBB2_1:                                # %polly.loop_preheader3.i
                                         # =>This Loop Header: Depth=1
                                         #     Child Loop BB2_2 Depth 2
-	movq	$-1536, %rdx            # imm = 0xFFFFFFFFFFFFFA00
-	xorl	%esi, %esi
+	xorl	%ecx, %ecx
 	.align	16, 0x90
-.LBB2_2:                                # %polly.loop_body2.i
+.LBB2_2:                                # %polly.loop_header2.i
                                         #   Parent Loop BB2_1 Depth=1
                                         # =>  This Inner Loop Header: Depth=2
-	movl	%esi, %edi
-	sarl	$31, %edi
-	shrl	$22, %edi
-	addl	%esi, %edi
-	andl	$-1024, %edi            # imm = 0xFFFFFFFFFFFFFC00
-	negl	%edi
-	leal	1(%rsi,%rdi), %edi
-	cvtsi2sd	%edi, %xmm1
-	mulsd	%xmm0, %xmm1
-	cvtsd2ss	%xmm1, %xmm1
-	movss	%xmm1, A+6144(%rax,%rdx,4)
-	movss	%xmm1, B+6144(%rax,%rdx,4)
-	addl	%ecx, %esi
-	incq	%rdx
+	movl	%ecx, %edx
+	imull	%ebx, %edx
+	movl	%edx, %esi
+	sarl	$31, %esi
+	shrl	$22, %esi
+	addl	%edx, %esi
+	andl	$-1024, %esi            # imm = 0xFFFFFFFFFFFFFC00
+	negl	%esi
+	movq	%rbx, %rax
+	shlq	$11, %rax
+	leal	1(%rdx,%rsi), %edi
+	leaq	(%rax,%rax,2), %rsi
+	leaq	1(%rcx), %rdx
+	cmpq	$1536, %rdx             # imm = 0x600
+	vcvtsi2sdl	%edi, %xmm0, %xmm1
+	vmulsd	%xmm0, %xmm1, %xmm1
+	vcvtsd2ss	%xmm1, %xmm1, %xmm1
+	vmovss	%xmm1, A(%rsi,%rcx,4)
+	vmovss	%xmm1, B(%rsi,%rcx,4)
+	movq	%rdx, %rcx
 	jne	.LBB2_2
-# BB#3:                                 # %polly.loop_header.loopexit.i
+# BB#3:                                 # %polly.loop_exit4.i
                                         #   in Loop: Header=BB2_1 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	incq	%rcx
-	cmpq	$1536, %rcx             # imm = 0x600
+	incq	%rbx
+	cmpq	$1536, %rbx             # imm = 0x600
 	jne	.LBB2_1
-# BB#4:                                 # %polly.loop_header.preheader
+# BB#4:                                 # %polly.loop_preheader3.preheader
+	movl	$C, %r14d
 	movl	$C, %edi
 	xorl	%esi, %esi
 	movl	$9437184, %edx          # imm = 0x900000
 	callq	memset
 	xorl	%eax, %eax
-	jmp	.LBB2_6
 	.align	16, 0x90
-.LBB2_5:                                # %polly.loop_header7.loopexit
-                                        #   in Loop: Header=BB2_6 Depth=1
-	addq	$6144, %rax             # imm = 0x1800
-	cmpq	$9437184, %rax          # imm = 0x900000
-	je	.LBB2_7
-.LBB2_6:                                # %polly.loop_header12.preheader
+.LBB2_5:                                # %polly.loop_preheader17
                                         # =>This Loop Header: Depth=1
-                                        #     Child Loop BB2_9 Depth 2
-                                        #       Child Loop BB2_10 Depth 3
-	leaq	A(%rax), %rcx
-	movq	$-9437184, %rdx         # imm = 0xFFFFFFFFFF700000
-	jmp	.LBB2_9
+                                        #     Child Loop BB2_10 Depth 2
+                                        #       Child Loop BB2_8 Depth 3
+	movl	$B, %ebx
+	xorl	%edx, %edx
 	.align	16, 0x90
-.LBB2_8:                                # %polly.loop_header12.loopexit
-                                        #   in Loop: Header=BB2_9 Depth=2
-	addq	$4, %rcx
-	addq	$6144, %rdx             # imm = 0x1800
-	je	.LBB2_5
-.LBB2_9:                                # %polly.loop_header17.preheader
-                                        #   Parent Loop BB2_6 Depth=1
+.LBB2_10:                               # %polly.loop_preheader24
+                                        #   Parent Loop BB2_5 Depth=1
                                         # =>  This Loop Header: Depth=2
-                                        #       Child Loop BB2_10 Depth 3
-	movss	(%rcx), %xmm0
-	xorl	%esi, %esi
-	.align	16, 0x90
-.LBB2_10:                               # %polly.loop_body18
-                                        #   Parent Loop BB2_6 Depth=1
-                                        #     Parent Loop BB2_9 Depth=2
+                                        #       Child Loop BB2_8 Depth 3
+	leaq	(%rax,%rax,2), %rcx
+	shlq	$11, %rcx
+	vmovss	A(%rcx,%rdx,4), %xmm0
+	movl	$1536, %esi             # imm = 0x600
+	movq	%r14, %rdi
+	movq	%rbx, %rcx
+	.align	16, 0x90
+.LBB2_8:                                # %polly.loop_header23
+                                        #   Parent Loop BB2_5 Depth=1
+                                        #     Parent Loop BB2_10 Depth=2
                                         # =>    This Inner Loop Header: Depth=3
-	movss	B+9437184(%rdx,%rsi,4), %xmm1
-	mulss	%xmm0, %xmm1
-	addss	C(%rax,%rsi,4), %xmm1
-	movss	%xmm1, C(%rax,%rsi,4)
-	incq	%rsi
-	cmpq	$1536, %rsi             # imm = 0x600
+	vmulss	(%rcx), %xmm0, %xmm1
+	vaddss	(%rdi), %xmm1, %xmm1
+	vmovss	%xmm1, (%rdi)
+	addq	$4, %rdi
+	addq	$4, %rcx
+	decq	%rsi
+	jne	.LBB2_8
+# BB#9:                                 # %polly.loop_exit25
+                                        #   in Loop: Header=BB2_10 Depth=2
+	addq	$6144, %rbx             # imm = 0x1800
+	incq	%rdx
+	cmpq	$1536, %rdx             # imm = 0x600
 	jne	.LBB2_10
-	jmp	.LBB2_8
-.LBB2_7:                                # %polly.after_loop9
+# BB#6:                                 # %polly.loop_exit18
+                                        #   in Loop: Header=BB2_5 Depth=1
+	addq	$6144, %r14             # imm = 0x1800
+	incq	%rax
+	cmpq	$1536, %rax             # imm = 0x600
+	jne	.LBB2_5
+# BB#7:                                 # %polly.loop_exit11
 	xorl	%eax, %eax
-	popq	%rdx
+	popq	%rbx
+	popq	%r14
+	popq	%rbp
 	ret
-.Ltmp2:
-	.size	main, .Ltmp2-main
+.Ltmp25:
+	.size	main, .Ltmp25-main
+	.cfi_endproc
 
 	.type	A, at object               # @A
 	.comm	A,9437184,16

Modified: polly/branches/release_33/www/experiments/matmul/matmul.preopt.ll
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.preopt.ll?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.preopt.ll (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.preopt.ll Wed Jun  5 21:48:13 2013
@@ -1,5 +1,5 @@
 ; ModuleID = 'matmul.s'
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
 %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] }
@@ -8,173 +8,179 @@ target triple = "x86_64-unknown-linux-gn
 @A = common global [1536 x [1536 x float]] zeroinitializer, align 16
 @B = common global [1536 x [1536 x float]] zeroinitializer, align 16
 @stdout = external global %struct._IO_FILE*
- at .str = private unnamed_addr constant [5 x i8] c"%lf \00"
+ at .str = private unnamed_addr constant [5 x i8] c"%lf \00", align 1
 @C = common global [1536 x [1536 x float]] zeroinitializer, align 16
- at .str1 = private unnamed_addr constant [2 x i8] c"\0A\00"
+ at .str1 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
 
-define void @init_array() nounwind {
-; <label>:0
-  br label %1
-
-; <label>:1                                       ; preds = %18, %0
-  %2 = phi i64 [ %indvar.next2, %18 ], [ 0, %0 ]
-  %exitcond5 = icmp ne i64 %2, 1536
-  br i1 %exitcond5, label %3, label %19
-
-; <label>:3                                       ; preds = %1
-  br label %4
-
-; <label>:4                                       ; preds = %16, %3
-  %indvar = phi i64 [ %indvar.next, %16 ], [ 0, %3 ]
-  %scevgep4 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %2, i64 %indvar
-  %scevgep = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %2, i64 %indvar
-  %tmp = mul i64 %2, %indvar
-  %tmp3 = trunc i64 %tmp to i32
+; Function Attrs: nounwind uwtable
+define void @init_array() #0 {
+entry:
+  br label %for.cond
+
+for.cond:                                         ; preds = %for.inc17, %entry
+  %0 = phi i64 [ %indvar.next2, %for.inc17 ], [ 0, %entry ]
+  %exitcond3 = icmp ne i64 %0, 1536
+  br i1 %exitcond3, label %for.body, label %for.end19
+
+for.body:                                         ; preds = %for.cond
+  br label %for.cond1
+
+for.cond1:                                        ; preds = %for.inc, %for.body
+  %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body ]
+  %arrayidx6 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %0, i64 %indvar
+  %arrayidx16 = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %0, i64 %indvar
+  %1 = mul i64 %0, %indvar
+  %mul = trunc i64 %1 to i32
   %exitcond = icmp ne i64 %indvar, 1536
-  br i1 %exitcond, label %5, label %17
+  br i1 %exitcond, label %for.body3, label %for.end
 
-; <label>:5                                       ; preds = %4
-  %6 = srem i32 %tmp3, 1024
-  %7 = add nsw i32 1, %6
-  %8 = sitofp i32 %7 to double
-  %9 = fdiv double %8, 2.000000e+00
-  %10 = fptrunc double %9 to float
-  store float %10, float* %scevgep4
-  %11 = srem i32 %tmp3, 1024
-  %12 = add nsw i32 1, %11
-  %13 = sitofp i32 %12 to double
-  %14 = fdiv double %13, 2.000000e+00
-  %15 = fptrunc double %14 to float
-  store float %15, float* %scevgep
-  br label %16
+for.body3:                                        ; preds = %for.cond1
+  %rem = srem i32 %mul, 1024
+  %add = add nsw i32 1, %rem
+  %conv = sitofp i32 %add to double
+  %div = fdiv double %conv, 2.000000e+00
+  %conv4 = fptrunc double %div to float
+  store float %conv4, float* %arrayidx6, align 4
+  %rem8 = srem i32 %mul, 1024
+  %add9 = add nsw i32 1, %rem8
+  %conv10 = sitofp i32 %add9 to double
+  %div11 = fdiv double %conv10, 2.000000e+00
+  %conv12 = fptrunc double %div11 to float
+  store float %conv12, float* %arrayidx16, align 4
+  br label %for.inc
 
-; <label>:16                                      ; preds = %5
+for.inc:                                          ; preds = %for.body3
   %indvar.next = add i64 %indvar, 1
-  br label %4
+  br label %for.cond1
 
-; <label>:17                                      ; preds = %4
-  br label %18
+for.end:                                          ; preds = %for.cond1
+  br label %for.inc17
 
-; <label>:18                                      ; preds = %17
-  %indvar.next2 = add i64 %2, 1
-  br label %1
+for.inc17:                                        ; preds = %for.end
+  %indvar.next2 = add i64 %0, 1
+  br label %for.cond
 
-; <label>:19                                      ; preds = %1
+for.end19:                                        ; preds = %for.cond
   ret void
 }
 
-define void @print_array() nounwind {
-; <label>:0
-  br label %1
+; Function Attrs: nounwind uwtable
+define void @print_array() #0 {
+entry:
+  br label %for.cond
 
-; <label>:1                                       ; preds = %19, %0
-  %indvar1 = phi i64 [ %indvar.next2, %19 ], [ 0, %0 ]
+for.cond:                                         ; preds = %for.inc10, %entry
+  %indvar1 = phi i64 [ %indvar.next2, %for.inc10 ], [ 0, %entry ]
   %exitcond3 = icmp ne i64 %indvar1, 1536
-  br i1 %exitcond3, label %2, label %20
+  br i1 %exitcond3, label %for.body, label %for.end12
 
-; <label>:2                                       ; preds = %1
-  br label %3
+for.body:                                         ; preds = %for.cond
+  br label %for.cond1
 
-; <label>:3                                       ; preds = %15, %2
-  %indvar = phi i64 [ %indvar.next, %15 ], [ 0, %2 ]
-  %scevgep = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar1, i64 %indvar
+for.cond1:                                        ; preds = %for.inc, %for.body
+  %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body ]
+  %arrayidx5 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar1, i64 %indvar
   %j.0 = trunc i64 %indvar to i32
   %exitcond = icmp ne i64 %indvar, 1536
-  br i1 %exitcond, label %4, label %16
+  br i1 %exitcond, label %for.body3, label %for.end
 
-; <label>:4                                       ; preds = %3
-  %5 = load %struct._IO_FILE** @stdout, align 8
-  %6 = load float* %scevgep
-  %7 = fpext float %6 to double
-  %8 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %5, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %7)
-  %9 = srem i32 %j.0, 80
-  %10 = icmp eq i32 %9, 79
-  br i1 %10, label %11, label %14
-
-; <label>:11                                      ; preds = %4
-  %12 = load %struct._IO_FILE** @stdout, align 8
-  %13 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %12, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
-  br label %14
+for.body3:                                        ; preds = %for.cond1
+  %0 = load %struct._IO_FILE** @stdout, align 8
+  %1 = load float* %arrayidx5, align 4
+  %conv = fpext float %1 to double
+  %call = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %0, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %conv)
+  %rem = srem i32 %j.0, 80
+  %cmp6 = icmp eq i32 %rem, 79
+  br i1 %cmp6, label %if.then, label %if.end
+
+if.then:                                          ; preds = %for.body3
+  %2 = load %struct._IO_FILE** @stdout, align 8
+  %call8 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %2, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
+  br label %if.end
 
-; <label>:14                                      ; preds = %11, %4
-  br label %15
+if.end:                                           ; preds = %if.then, %for.body3
+  br label %for.inc
 
-; <label>:15                                      ; preds = %14
+for.inc:                                          ; preds = %if.end
   %indvar.next = add i64 %indvar, 1
-  br label %3
+  br label %for.cond1
 
-; <label>:16                                      ; preds = %3
-  %17 = load %struct._IO_FILE** @stdout, align 8
-  %18 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %17, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
-  br label %19
+for.end:                                          ; preds = %for.cond1
+  %3 = load %struct._IO_FILE** @stdout, align 8
+  %call9 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %3, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
+  br label %for.inc10
 
-; <label>:19                                      ; preds = %16
+for.inc10:                                        ; preds = %for.end
   %indvar.next2 = add i64 %indvar1, 1
-  br label %1
+  br label %for.cond
 
-; <label>:20                                      ; preds = %1
+for.end12:                                        ; preds = %for.cond
   ret void
 }
 
-declare i32 @fprintf(%struct._IO_FILE*, i8*, ...)
+declare i32 @fprintf(%struct._IO_FILE*, i8*, ...) #1
 
-define i32 @main() nounwind {
-; <label>:0
+; Function Attrs: nounwind uwtable
+define i32 @main() #0 {
+entry:
   call void @init_array()
-  br label %1
+  br label %for.cond
 
-; <label>:1                                       ; preds = %16, %0
-  %indvar3 = phi i64 [ %indvar.next4, %16 ], [ 0, %0 ]
-  %exitcond9 = icmp ne i64 %indvar3, 1536
-  br i1 %exitcond9, label %2, label %17
-
-; <label>:2                                       ; preds = %1
-  br label %3
-
-; <label>:3                                       ; preds = %14, %2
-  %indvar1 = phi i64 [ %indvar.next2, %14 ], [ 0, %2 ]
-  %scevgep8 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar3, i64 %indvar1
-  %exitcond6 = icmp ne i64 %indvar1, 1536
-  br i1 %exitcond6, label %4, label %15
-
-; <label>:4                                       ; preds = %3
-  store float 0.000000e+00, float* %scevgep8
-  br label %5
-
-; <label>:5                                       ; preds = %12, %4
-  %indvar = phi i64 [ %indvar.next, %12 ], [ 0, %4 ]
-  %scevgep5 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %indvar3, i64 %indvar
-  %scevgep = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %indvar, i64 %indvar1
+for.cond:                                         ; preds = %for.inc28, %entry
+  %indvar3 = phi i64 [ %indvar.next4, %for.inc28 ], [ 0, %entry ]
+  %exitcond6 = icmp ne i64 %indvar3, 1536
+  br i1 %exitcond6, label %for.body, label %for.end30
+
+for.body:                                         ; preds = %for.cond
+  br label %for.cond1
+
+for.cond1:                                        ; preds = %for.inc25, %for.body
+  %indvar1 = phi i64 [ %indvar.next2, %for.inc25 ], [ 0, %for.body ]
+  %arrayidx5 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar3, i64 %indvar1
+  %exitcond5 = icmp ne i64 %indvar1, 1536
+  br i1 %exitcond5, label %for.body3, label %for.end27
+
+for.body3:                                        ; preds = %for.cond1
+  store float 0.000000e+00, float* %arrayidx5, align 4
+  br label %for.cond6
+
+for.cond6:                                        ; preds = %for.inc, %for.body3
+  %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body3 ]
+  %arrayidx16 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %indvar3, i64 %indvar
+  %arrayidx20 = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %indvar, i64 %indvar1
   %exitcond = icmp ne i64 %indvar, 1536
-  br i1 %exitcond, label %6, label %13
+  br i1 %exitcond, label %for.body8, label %for.end
 
-; <label>:6                                       ; preds = %5
-  %7 = load float* %scevgep8
-  %8 = load float* %scevgep5
-  %9 = load float* %scevgep
-  %10 = fmul float %8, %9
-  %11 = fadd float %7, %10
-  store float %11, float* %scevgep8
-  br label %12
+for.body8:                                        ; preds = %for.cond6
+  %0 = load float* %arrayidx5, align 4
+  %1 = load float* %arrayidx16, align 4
+  %2 = load float* %arrayidx20, align 4
+  %mul = fmul float %1, %2
+  %add = fadd float %0, %mul
+  store float %add, float* %arrayidx5, align 4
+  br label %for.inc
 
-; <label>:12                                      ; preds = %6
+for.inc:                                          ; preds = %for.body8
   %indvar.next = add i64 %indvar, 1
-  br label %5
+  br label %for.cond6
 
-; <label>:13                                      ; preds = %5
-  br label %14
+for.end:                                          ; preds = %for.cond6
+  br label %for.inc25
 
-; <label>:14                                      ; preds = %13
+for.inc25:                                        ; preds = %for.end
   %indvar.next2 = add i64 %indvar1, 1
-  br label %3
+  br label %for.cond1
 
-; <label>:15                                      ; preds = %3
-  br label %16
+for.end27:                                        ; preds = %for.cond1
+  br label %for.inc28
 
-; <label>:16                                      ; preds = %15
+for.inc28:                                        ; preds = %for.end27
   %indvar.next4 = add i64 %indvar3, 1
-  br label %1
+  br label %for.cond
 
-; <label>:17                                      ; preds = %1
+for.end30:                                        ; preds = %for.cond
   ret i32 0
 }
+
+attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: polly/branches/release_33/www/experiments/matmul/matmul.s
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/matmul.s?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/matmul.s (original)
+++ polly/branches/release_33/www/experiments/matmul/matmul.s Wed Jun  5 21:48:13 2013
@@ -1,5 +1,5 @@
 ; ModuleID = 'matmul.c'
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
 %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] }
@@ -8,248 +8,257 @@ target triple = "x86_64-unknown-linux-gn
 @A = common global [1536 x [1536 x float]] zeroinitializer, align 16
 @B = common global [1536 x [1536 x float]] zeroinitializer, align 16
 @stdout = external global %struct._IO_FILE*
- at .str = private unnamed_addr constant [5 x i8] c"%lf \00"
+ at .str = private unnamed_addr constant [5 x i8] c"%lf \00", align 1
 @C = common global [1536 x [1536 x float]] zeroinitializer, align 16
- at .str1 = private unnamed_addr constant [2 x i8] c"\0A\00"
+ at .str1 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
 
-define void @init_array() nounwind {
+; Function Attrs: nounwind uwtable
+define void @init_array() #0 {
+entry:
   %i = alloca i32, align 4
   %j = alloca i32, align 4
   store i32 0, i32* %i, align 4
-  br label %1
+  br label %for.cond
 
-; <label>:1                                       ; preds = %41, %0
-  %2 = load i32* %i, align 4
-  %3 = icmp slt i32 %2, 1536
-  br i1 %3, label %4, label %44
+for.cond:                                         ; preds = %for.inc17, %entry
+  %0 = load i32* %i, align 4
+  %cmp = icmp slt i32 %0, 1536
+  br i1 %cmp, label %for.body, label %for.end19
 
-; <label>:4                                       ; preds = %1
+for.body:                                         ; preds = %for.cond
   store i32 0, i32* %j, align 4
-  br label %5
+  br label %for.cond1
 
-; <label>:5                                       ; preds = %37, %4
-  %6 = load i32* %j, align 4
-  %7 = icmp slt i32 %6, 1536
-  br i1 %7, label %8, label %40
+for.cond1:                                        ; preds = %for.inc, %for.body
+  %1 = load i32* %j, align 4
+  %cmp2 = icmp slt i32 %1, 1536
+  br i1 %cmp2, label %for.body3, label %for.end
 
-; <label>:8                                       ; preds = %5
+for.body3:                                        ; preds = %for.cond1
+  %2 = load i32* %i, align 4
+  %3 = load i32* %j, align 4
+  %mul = mul nsw i32 %2, %3
+  %rem = srem i32 %mul, 1024
+  %add = add nsw i32 1, %rem
+  %conv = sitofp i32 %add to double
+  %div = fdiv double %conv, 2.000000e+00
+  %conv4 = fptrunc double %div to float
+  %4 = load i32* %j, align 4
+  %idxprom = sext i32 %4 to i64
+  %5 = load i32* %i, align 4
+  %idxprom5 = sext i32 %5 to i64
+  %arrayidx = getelementptr inbounds [1536 x [1536 x float]]* @A, i32 0, i64 %idxprom5
+  %arrayidx6 = getelementptr inbounds [1536 x float]* %arrayidx, i32 0, i64 %idxprom
+  store float %conv4, float* %arrayidx6, align 4
+  %6 = load i32* %i, align 4
+  %7 = load i32* %j, align 4
+  %mul7 = mul nsw i32 %6, %7
+  %rem8 = srem i32 %mul7, 1024
+  %add9 = add nsw i32 1, %rem8
+  %conv10 = sitofp i32 %add9 to double
+  %div11 = fdiv double %conv10, 2.000000e+00
+  %conv12 = fptrunc double %div11 to float
+  %8 = load i32* %j, align 4
+  %idxprom13 = sext i32 %8 to i64
   %9 = load i32* %i, align 4
+  %idxprom14 = sext i32 %9 to i64
+  %arrayidx15 = getelementptr inbounds [1536 x [1536 x float]]* @B, i32 0, i64 %idxprom14
+  %arrayidx16 = getelementptr inbounds [1536 x float]* %arrayidx15, i32 0, i64 %idxprom13
+  store float %conv12, float* %arrayidx16, align 4
+  br label %for.inc
+
+for.inc:                                          ; preds = %for.body3
   %10 = load i32* %j, align 4
-  %11 = mul nsw i32 %9, %10
-  %12 = srem i32 %11, 1024
-  %13 = add nsw i32 1, %12
-  %14 = sitofp i32 %13 to double
-  %15 = fdiv double %14, 2.000000e+00
-  %16 = fptrunc double %15 to float
-  %17 = load i32* %j, align 4
-  %18 = sext i32 %17 to i64
-  %19 = load i32* %i, align 4
-  %20 = sext i32 %19 to i64
-  %21 = getelementptr inbounds [1536 x [1536 x float]]* @A, i32 0, i64 %20
-  %22 = getelementptr inbounds [1536 x float]* %21, i32 0, i64 %18
-  store float %16, float* %22
-  %23 = load i32* %i, align 4
-  %24 = load i32* %j, align 4
-  %25 = mul nsw i32 %23, %24
-  %26 = srem i32 %25, 1024
-  %27 = add nsw i32 1, %26
-  %28 = sitofp i32 %27 to double
-  %29 = fdiv double %28, 2.000000e+00
-  %30 = fptrunc double %29 to float
-  %31 = load i32* %j, align 4
-  %32 = sext i32 %31 to i64
-  %33 = load i32* %i, align 4
-  %34 = sext i32 %33 to i64
-  %35 = getelementptr inbounds [1536 x [1536 x float]]* @B, i32 0, i64 %34
-  %36 = getelementptr inbounds [1536 x float]* %35, i32 0, i64 %32
-  store float %30, float* %36
-  br label %37
-
-; <label>:37                                      ; preds = %8
-  %38 = load i32* %j, align 4
-  %39 = add nsw i32 %38, 1
-  store i32 %39, i32* %j, align 4
-  br label %5
-
-; <label>:40                                      ; preds = %5
-  br label %41
-
-; <label>:41                                      ; preds = %40
-  %42 = load i32* %i, align 4
-  %43 = add nsw i32 %42, 1
-  store i32 %43, i32* %i, align 4
-  br label %1
+  %inc = add nsw i32 %10, 1
+  store i32 %inc, i32* %j, align 4
+  br label %for.cond1
+
+for.end:                                          ; preds = %for.cond1
+  br label %for.inc17
+
+for.inc17:                                        ; preds = %for.end
+  %11 = load i32* %i, align 4
+  %inc18 = add nsw i32 %11, 1
+  store i32 %inc18, i32* %i, align 4
+  br label %for.cond
 
-; <label>:44                                      ; preds = %1
+for.end19:                                        ; preds = %for.cond
   ret void
 }
 
-define void @print_array() nounwind {
+; Function Attrs: nounwind uwtable
+define void @print_array() #0 {
+entry:
   %i = alloca i32, align 4
   %j = alloca i32, align 4
   store i32 0, i32* %i, align 4
-  br label %1
+  br label %for.cond
 
-; <label>:1                                       ; preds = %32, %0
-  %2 = load i32* %i, align 4
-  %3 = icmp slt i32 %2, 1536
-  br i1 %3, label %4, label %35
+for.cond:                                         ; preds = %for.inc10, %entry
+  %0 = load i32* %i, align 4
+  %cmp = icmp slt i32 %0, 1536
+  br i1 %cmp, label %for.body, label %for.end12
 
-; <label>:4                                       ; preds = %1
+for.body:                                         ; preds = %for.cond
   store i32 0, i32* %j, align 4
-  br label %5
+  br label %for.cond1
 
-; <label>:5                                       ; preds = %26, %4
+for.cond1:                                        ; preds = %for.inc, %for.body
+  %1 = load i32* %j, align 4
+  %cmp2 = icmp slt i32 %1, 1536
+  br i1 %cmp2, label %for.body3, label %for.end
+
+for.body3:                                        ; preds = %for.cond1
+  %2 = load %struct._IO_FILE** @stdout, align 8
+  %3 = load i32* %j, align 4
+  %idxprom = sext i32 %3 to i64
+  %4 = load i32* %i, align 4
+  %idxprom4 = sext i32 %4 to i64
+  %arrayidx = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom4
+  %arrayidx5 = getelementptr inbounds [1536 x float]* %arrayidx, i32 0, i64 %idxprom
+  %5 = load float* %arrayidx5, align 4
+  %conv = fpext float %5 to double
+  %call = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %2, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %conv)
   %6 = load i32* %j, align 4
-  %7 = icmp slt i32 %6, 1536
-  br i1 %7, label %8, label %29
+  %rem = srem i32 %6, 80
+  %cmp6 = icmp eq i32 %rem, 79
+  br i1 %cmp6, label %if.then, label %if.end
+
+if.then:                                          ; preds = %for.body3
+  %7 = load %struct._IO_FILE** @stdout, align 8
+  %call8 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %7, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
+  br label %if.end
+
+if.end:                                           ; preds = %if.then, %for.body3
+  br label %for.inc
+
+for.inc:                                          ; preds = %if.end
+  %8 = load i32* %j, align 4
+  %inc = add nsw i32 %8, 1
+  store i32 %inc, i32* %j, align 4
+  br label %for.cond1
 
-; <label>:8                                       ; preds = %5
+for.end:                                          ; preds = %for.cond1
   %9 = load %struct._IO_FILE** @stdout, align 8
-  %10 = load i32* %j, align 4
-  %11 = sext i32 %10 to i64
-  %12 = load i32* %i, align 4
-  %13 = sext i32 %12 to i64
-  %14 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %13
-  %15 = getelementptr inbounds [1536 x float]* %14, i32 0, i64 %11
-  %16 = load float* %15
-  %17 = fpext float %16 to double
-  %18 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %9, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %17)
-  %19 = load i32* %j, align 4
-  %20 = srem i32 %19, 80
-  %21 = icmp eq i32 %20, 79
-  br i1 %21, label %22, label %25
-
-; <label>:22                                      ; preds = %8
-  %23 = load %struct._IO_FILE** @stdout, align 8
-  %24 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %23, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
-  br label %25
-
-; <label>:25                                      ; preds = %22, %8
-  br label %26
-
-; <label>:26                                      ; preds = %25
-  %27 = load i32* %j, align 4
-  %28 = add nsw i32 %27, 1
-  store i32 %28, i32* %j, align 4
-  br label %5
-
-; <label>:29                                      ; preds = %5
-  %30 = load %struct._IO_FILE** @stdout, align 8
-  %31 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %30, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
-  br label %32
-
-; <label>:32                                      ; preds = %29
-  %33 = load i32* %i, align 4
-  %34 = add nsw i32 %33, 1
-  store i32 %34, i32* %i, align 4
-  br label %1
+  %call9 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %9, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))
+  br label %for.inc10
 
-; <label>:35                                      ; preds = %1
+for.inc10:                                        ; preds = %for.end
+  %10 = load i32* %i, align 4
+  %inc11 = add nsw i32 %10, 1
+  store i32 %inc11, i32* %i, align 4
+  br label %for.cond
+
+for.end12:                                        ; preds = %for.cond
   ret void
 }
 
-declare i32 @fprintf(%struct._IO_FILE*, i8*, ...)
+declare i32 @fprintf(%struct._IO_FILE*, i8*, ...) #1
 
-define i32 @main() nounwind {
-  %1 = alloca i32, align 4
+; Function Attrs: nounwind uwtable
+define i32 @main() #0 {
+entry:
+  %retval = alloca i32, align 4
   %i = alloca i32, align 4
   %j = alloca i32, align 4
   %k = alloca i32, align 4
   %t_start = alloca double, align 8
   %t_end = alloca double, align 8
-  store i32 0, i32* %1
+  store i32 0, i32* %retval
   call void @init_array()
   store i32 0, i32* %i, align 4
-  br label %2
+  br label %for.cond
 
-; <label>:2                                       ; preds = %57, %0
-  %3 = load i32* %i, align 4
-  %4 = icmp slt i32 %3, 1536
-  br i1 %4, label %5, label %60
+for.cond:                                         ; preds = %for.inc28, %entry
+  %0 = load i32* %i, align 4
+  %cmp = icmp slt i32 %0, 1536
+  br i1 %cmp, label %for.body, label %for.end30
 
-; <label>:5                                       ; preds = %2
+for.body:                                         ; preds = %for.cond
   store i32 0, i32* %j, align 4
-  br label %6
+  br label %for.cond1
 
-; <label>:6                                       ; preds = %53, %5
-  %7 = load i32* %j, align 4
-  %8 = icmp slt i32 %7, 1536
-  br i1 %8, label %9, label %56
-
-; <label>:9                                       ; preds = %6
-  %10 = load i32* %j, align 4
-  %11 = sext i32 %10 to i64
-  %12 = load i32* %i, align 4
-  %13 = sext i32 %12 to i64
-  %14 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %13
-  %15 = getelementptr inbounds [1536 x float]* %14, i32 0, i64 %11
-  store float 0.000000e+00, float* %15
+for.cond1:                                        ; preds = %for.inc25, %for.body
+  %1 = load i32* %j, align 4
+  %cmp2 = icmp slt i32 %1, 1536
+  br i1 %cmp2, label %for.body3, label %for.end27
+
+for.body3:                                        ; preds = %for.cond1
+  %2 = load i32* %j, align 4
+  %idxprom = sext i32 %2 to i64
+  %3 = load i32* %i, align 4
+  %idxprom4 = sext i32 %3 to i64
+  %arrayidx = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom4
+  %arrayidx5 = getelementptr inbounds [1536 x float]* %arrayidx, i32 0, i64 %idxprom
+  store float 0.000000e+00, float* %arrayidx5, align 4
   store i32 0, i32* %k, align 4
-  br label %16
+  br label %for.cond6
 
-; <label>:16                                      ; preds = %49, %9
-  %17 = load i32* %k, align 4
-  %18 = icmp slt i32 %17, 1536
-  br i1 %18, label %19, label %52
-
-; <label>:19                                      ; preds = %16
-  %20 = load i32* %j, align 4
-  %21 = sext i32 %20 to i64
-  %22 = load i32* %i, align 4
-  %23 = sext i32 %22 to i64
-  %24 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %23
-  %25 = getelementptr inbounds [1536 x float]* %24, i32 0, i64 %21
-  %26 = load float* %25
-  %27 = load i32* %k, align 4
-  %28 = sext i32 %27 to i64
-  %29 = load i32* %i, align 4
-  %30 = sext i32 %29 to i64
-  %31 = getelementptr inbounds [1536 x [1536 x float]]* @A, i32 0, i64 %30
-  %32 = getelementptr inbounds [1536 x float]* %31, i32 0, i64 %28
-  %33 = load float* %32
-  %34 = load i32* %j, align 4
-  %35 = sext i32 %34 to i64
-  %36 = load i32* %k, align 4
-  %37 = sext i32 %36 to i64
-  %38 = getelementptr inbounds [1536 x [1536 x float]]* @B, i32 0, i64 %37
-  %39 = getelementptr inbounds [1536 x float]* %38, i32 0, i64 %35
-  %40 = load float* %39
-  %41 = fmul float %33, %40
-  %42 = fadd float %26, %41
-  %43 = load i32* %j, align 4
-  %44 = sext i32 %43 to i64
-  %45 = load i32* %i, align 4
-  %46 = sext i32 %45 to i64
-  %47 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %46
-  %48 = getelementptr inbounds [1536 x float]* %47, i32 0, i64 %44
-  store float %42, float* %48
-  br label %49
-
-; <label>:49                                      ; preds = %19
-  %50 = load i32* %k, align 4
-  %51 = add nsw i32 %50, 1
-  store i32 %51, i32* %k, align 4
-  br label %16
-
-; <label>:52                                      ; preds = %16
-  br label %53
-
-; <label>:53                                      ; preds = %52
-  %54 = load i32* %j, align 4
-  %55 = add nsw i32 %54, 1
-  store i32 %55, i32* %j, align 4
-  br label %6
-
-; <label>:56                                      ; preds = %6
-  br label %57
-
-; <label>:57                                      ; preds = %56
-  %58 = load i32* %i, align 4
-  %59 = add nsw i32 %58, 1
-  store i32 %59, i32* %i, align 4
-  br label %2
+for.cond6:                                        ; preds = %for.inc, %for.body3
+  %4 = load i32* %k, align 4
+  %cmp7 = icmp slt i32 %4, 1536
+  br i1 %cmp7, label %for.body8, label %for.end
+
+for.body8:                                        ; preds = %for.cond6
+  %5 = load i32* %j, align 4
+  %idxprom9 = sext i32 %5 to i64
+  %6 = load i32* %i, align 4
+  %idxprom10 = sext i32 %6 to i64
+  %arrayidx11 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom10
+  %arrayidx12 = getelementptr inbounds [1536 x float]* %arrayidx11, i32 0, i64 %idxprom9
+  %7 = load float* %arrayidx12, align 4
+  %8 = load i32* %k, align 4
+  %idxprom13 = sext i32 %8 to i64
+  %9 = load i32* %i, align 4
+  %idxprom14 = sext i32 %9 to i64
+  %arrayidx15 = getelementptr inbounds [1536 x [1536 x float]]* @A, i32 0, i64 %idxprom14
+  %arrayidx16 = getelementptr inbounds [1536 x float]* %arrayidx15, i32 0, i64 %idxprom13
+  %10 = load float* %arrayidx16, align 4
+  %11 = load i32* %j, align 4
+  %idxprom17 = sext i32 %11 to i64
+  %12 = load i32* %k, align 4
+  %idxprom18 = sext i32 %12 to i64
+  %arrayidx19 = getelementptr inbounds [1536 x [1536 x float]]* @B, i32 0, i64 %idxprom18
+  %arrayidx20 = getelementptr inbounds [1536 x float]* %arrayidx19, i32 0, i64 %idxprom17
+  %13 = load float* %arrayidx20, align 4
+  %mul = fmul float %10, %13
+  %add = fadd float %7, %mul
+  %14 = load i32* %j, align 4
+  %idxprom21 = sext i32 %14 to i64
+  %15 = load i32* %i, align 4
+  %idxprom22 = sext i32 %15 to i64
+  %arrayidx23 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom22
+  %arrayidx24 = getelementptr inbounds [1536 x float]* %arrayidx23, i32 0, i64 %idxprom21
+  store float %add, float* %arrayidx24, align 4
+  br label %for.inc
+
+for.inc:                                          ; preds = %for.body8
+  %16 = load i32* %k, align 4
+  %inc = add nsw i32 %16, 1
+  store i32 %inc, i32* %k, align 4
+  br label %for.cond6
 
-; <label>:60                                      ; preds = %2
+for.end:                                          ; preds = %for.cond6
+  br label %for.inc25
+
+for.inc25:                                        ; preds = %for.end
+  %17 = load i32* %j, align 4
+  %inc26 = add nsw i32 %17, 1
+  store i32 %inc26, i32* %j, align 4
+  br label %for.cond1
+
+for.end27:                                        ; preds = %for.cond1
+  br label %for.inc28
+
+for.inc28:                                        ; preds = %for.end27
+  %18 = load i32* %i, align 4
+  %inc29 = add nsw i32 %18, 1
+  store i32 %inc29, i32* %i, align 4
+  br label %for.cond
+
+for.end30:                                        ; preds = %for.cond
   ret i32 0
 }
+
+attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }

Modified: polly/branches/release_33/www/experiments/matmul/scops.init_array.dot
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scops.init_array.dot?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/scops.init_array.dot (original)
+++ polly/branches/release_33/www/experiments/matmul/scops.init_array.dot Wed Jun  5 21:48:13 2013
@@ -1,47 +1,47 @@
 digraph "Scop Graph for 'init_array' function" {
 	label="Scop Graph for 'init_array' function";
 
-	Node0x26ade30 [shape=record,label="{%0:\l\l  br label %1\l}"];
-	Node0x26ade30 -> Node0x26acdd0;
-	Node0x26acdd0 [shape=record,label="{%1:\l\l  %2 = phi i64 [ %indvar.next2, %18 ], [ 0, %0 ]\l  %exitcond5 = icmp ne i64 %2, 1536\l  br i1 %exitcond5, label %3, label %19\l}"];
-	Node0x26acdd0 -> Node0x26acdf0;
-	Node0x26acdd0 -> Node0x26adce0;
-	Node0x26acdf0 [shape=record,label="{%3:\l\l  br label %4\l}"];
-	Node0x26acdf0 -> Node0x26addc0;
-	Node0x26addc0 [shape=record,label="{%4:\l\l  %indvar = phi i64 [ %indvar.next, %16 ], [ 0, %3 ]\l  %scevgep4 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %2, i64 %indvar\l  %scevgep = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %2, i64 %indvar\l  %tmp = mul i64 %2, %indvar\l  %tmp3 = trunc i64 %tmp to i32\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %5, label %17\l}"];
-	Node0x26addc0 -> Node0x26ace70;
-	Node0x26addc0 -> Node0x26ad010;
-	Node0x26ace70 [shape=record,label="{%5:\l\l  %6 = srem i32 %tmp3, 1024\l  %7 = add nsw i32 1, %6\l  %8 = sitofp i32 %7 to double\l  %9 = fdiv double %8, 2.000000e+00\l  %10 = fptrunc double %9 to float\l  store float %10, float* %scevgep4\l  %11 = srem i32 %tmp3, 1024\l  %12 = add nsw i32 1, %11\l  %13 = sitofp i32 %12 to double\l  %14 = fdiv double %13, 2.000000e+00\l  %15 = fptrunc double %14 to float\l  store float %15, float* %scevgep\l  br label %16\l}"];
-	Node0x26ace70 -> Node0x26ace90;
-	Node0x26ace90 [shape=record,label="{%16:\l\l  %indvar.next = add i64 %indvar, 1\l  br label %4\l}"];
-	Node0x26ace90 -> Node0x26addc0[constraint=false];
-	Node0x26ad010 [shape=record,label="{%17:\l\l  br label %18\l}"];
-	Node0x26ad010 -> Node0x26ad6c0;
-	Node0x26ad6c0 [shape=record,label="{%18:\l\l  %indvar.next2 = add i64 %2, 1\l  br label %1\l}"];
-	Node0x26ad6c0 -> Node0x26acdd0[constraint=false];
-	Node0x26adce0 [shape=record,label="{%19:\l\l  ret void\l}"];
+	Node0x17d4370 [shape=record,label="{entry:\l  br label %for.cond\l}"];
+	Node0x17d4370 -> Node0x17da5d0;
+	Node0x17da5d0 [shape=record,label="{for.cond:                                         \l  %0 = phi i64 [ %indvar.next2, %for.inc17 ], [ 0, %entry ]\l  %exitcond3 = icmp ne i64 %0, 1536\l  br i1 %exitcond3, label %for.body, label %for.end19\l}"];
+	Node0x17da5d0 -> Node0x17da5f0;
+	Node0x17da5d0 -> Node0x17da650;
+	Node0x17da5f0 [shape=record,label="{for.body:                                         \l  br label %for.cond1\l}"];
+	Node0x17da5f0 -> Node0x17da900;
+	Node0x17da900 [shape=record,label="{for.cond1:                                        \l  %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body ]\l  %arrayidx6 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %0, i64 %indvar\l  %arrayidx16 = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %0, i64 %indvar\l  %1 = mul i64 %0, %indvar\l  %mul = trunc i64 %1 to i32\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %for.body3, label %for.end\l}"];
+	Node0x17da900 -> Node0x17da670;
+	Node0x17da900 -> Node0x17da9a0;
+	Node0x17da670 [shape=record,label="{for.body3:                                        \l  %rem = srem i32 %mul, 1024\l  %add = add nsw i32 1, %rem\l  %conv = sitofp i32 %add to double\l  %div = fdiv double %conv, 2.000000e+00\l  %conv4 = fptrunc double %div to float\l  store float %conv4, float* %arrayidx6, align 4\l  %rem8 = srem i32 %mul, 1024\l  %add9 = add nsw i32 1, %rem8\l  %conv10 = sitofp i32 %add9 to double\l  %div11 = fdiv double %conv10, 2.000000e+00\l  %conv12 = fptrunc double %div11 to float\l  store float %conv12, float* %arrayidx16, align 4\l  br label %for.inc\l}"];
+	Node0x17da670 -> Node0x17da8e0;
+	Node0x17da8e0 [shape=record,label="{for.inc:                                          \l  %indvar.next = add i64 %indvar, 1\l  br label %for.cond1\l}"];
+	Node0x17da8e0 -> Node0x17da900[constraint=false];
+	Node0x17da9a0 [shape=record,label="{for.end:                                          \l  br label %for.inc17\l}"];
+	Node0x17da9a0 -> Node0x17d9e70;
+	Node0x17d9e70 [shape=record,label="{for.inc17:                                        \l  %indvar.next2 = add i64 %0, 1\l  br label %for.cond\l}"];
+	Node0x17d9e70 -> Node0x17da5d0[constraint=false];
+	Node0x17da650 [shape=record,label="{for.end19:                                        \l  ret void\l}"];
 	colorscheme = "paired12"
-        subgraph cluster_0x26a94c0 {
+        subgraph cluster_0x17d3a30 {
           label = "";
           style = solid;
           color = 1
-          subgraph cluster_0x26aa4e0 {
+          subgraph cluster_0x17d4ec0 {
             label = "";
             style = filled;
-            color = 3            subgraph cluster_0x26a9780 {
+            color = 3            subgraph cluster_0x17d4180 {
               label = "";
               style = solid;
               color = 5
-              Node0x26addc0;
-              Node0x26ace70;
-              Node0x26ace90;
+              Node0x17da900;
+              Node0x17da670;
+              Node0x17da8e0;
             }
-            Node0x26acdd0;
-            Node0x26acdf0;
-            Node0x26ad010;
-            Node0x26ad6c0;
+            Node0x17da5d0;
+            Node0x17da5f0;
+            Node0x17da9a0;
+            Node0x17d9e70;
           }
-          Node0x26ade30;
-          Node0x26adce0;
+          Node0x17d4370;
+          Node0x17da650;
         }
 }

Modified: polly/branches/release_33/www/experiments/matmul/scops.init_array.dot.png
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scops.init_array.dot.png?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/scops.init_array.dot.png (original) and polly/branches/release_33/www/experiments/matmul/scops.init_array.dot.png Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/scops.main.dot
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scops.main.dot?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/scops.main.dot (original)
+++ polly/branches/release_33/www/experiments/matmul/scops.main.dot Wed Jun  5 21:48:13 2013
@@ -1,65 +1,65 @@
 digraph "Scop Graph for 'main' function" {
 	label="Scop Graph for 'main' function";
 
-	Node0x26ace10 [shape=record,label="{%0:\l\l  call void @init_array()\l  br label %1\l}"];
-	Node0x26ace10 -> Node0x26acd60;
-	Node0x26acd60 [shape=record,label="{%1:\l\l  %indvar3 = phi i64 [ %indvar.next4, %16 ], [ 0, %0 ]\l  %exitcond9 = icmp ne i64 %indvar3, 1536\l  br i1 %exitcond9, label %2, label %17\l}"];
-	Node0x26acd60 -> Node0x26acd80;
-	Node0x26acd60 -> Node0x26af2e0;
-	Node0x26acd80 [shape=record,label="{%2:\l\l  br label %3\l}"];
-	Node0x26acd80 -> Node0x26aee80;
-	Node0x26aee80 [shape=record,label="{%3:\l\l  %indvar1 = phi i64 [ %indvar.next2, %14 ], [ 0, %2 ]\l  %scevgep8 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar3, i64 %indvar1\l  %exitcond6 = icmp ne i64 %indvar1, 1536\l  br i1 %exitcond6, label %4, label %15\l}"];
-	Node0x26aee80 -> Node0x26aeea0;
-	Node0x26aee80 -> Node0x26aeec0;
-	Node0x26aeea0 [shape=record,label="{%4:\l\l  store float 0.000000e+00, float* %scevgep8\l  br label %5\l}"];
-	Node0x26aeea0 -> Node0x26aced0;
-	Node0x26aced0 [shape=record,label="{%5:\l\l  %indvar = phi i64 [ %indvar.next, %12 ], [ 0, %4 ]\l  %scevgep5 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %indvar3, i64 %indvar\l  %scevgep = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %indvar, i64 %indvar1\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %6, label %13\l}"];
-	Node0x26aced0 -> Node0x26ace60;
-	Node0x26aced0 -> Node0x26af5e0;
-	Node0x26ace60 [shape=record,label="{%6:\l\l  %7 = load float* %scevgep8\l  %8 = load float* %scevgep5\l  %9 = load float* %scevgep\l  %10 = fmul float %8, %9\l  %11 = fadd float %7, %10\l  store float %11, float* %scevgep8\l  br label %12\l}"];
-	Node0x26ace60 -> Node0x26af640;
-	Node0x26af640 [shape=record,label="{%12:\l\l  %indvar.next = add i64 %indvar, 1\l  br label %5\l}"];
-	Node0x26af640 -> Node0x26aced0[constraint=false];
-	Node0x26af5e0 [shape=record,label="{%13:\l\l  br label %14\l}"];
-	Node0x26af5e0 -> Node0x26af6e0;
-	Node0x26af6e0 [shape=record,label="{%14:\l\l  %indvar.next2 = add i64 %indvar1, 1\l  br label %3\l}"];
-	Node0x26af6e0 -> Node0x26aee80[constraint=false];
-	Node0x26aeec0 [shape=record,label="{%15:\l\l  br label %16\l}"];
-	Node0x26aeec0 -> Node0x26af740;
-	Node0x26af740 [shape=record,label="{%16:\l\l  %indvar.next4 = add i64 %indvar3, 1\l  br label %1\l}"];
-	Node0x26af740 -> Node0x26acd60[constraint=false];
-	Node0x26af2e0 [shape=record,label="{%17:\l\l  ret i32 0\l}"];
+	Node0x17d21a0 [shape=record,label="{entry:\l  call void @init_array()\l  br label %for.cond\l}"];
+	Node0x17d21a0 -> Node0x17d2020;
+	Node0x17d2020 [shape=record,label="{for.cond:                                         \l  %indvar3 = phi i64 [ %indvar.next4, %for.inc28 ], [ 0, %entry ]\l  %exitcond6 = icmp ne i64 %indvar3, 1536\l  br i1 %exitcond6, label %for.body, label %for.end30\l}"];
+	Node0x17d2020 -> Node0x17d3950;
+	Node0x17d2020 -> Node0x17da500;
+	Node0x17d3950 [shape=record,label="{for.body:                                         \l  br label %for.cond1\l}"];
+	Node0x17d3950 -> Node0x17da760;
+	Node0x17da760 [shape=record,label="{for.cond1:                                        \l  %indvar1 = phi i64 [ %indvar.next2, %for.inc25 ], [ 0, %for.body ]\l  %arrayidx5 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar3, i64 %indvar1\l  %exitcond5 = icmp ne i64 %indvar1, 1536\l  br i1 %exitcond5, label %for.body3, label %for.end27\l}"];
+	Node0x17da760 -> Node0x17db1e0;
+	Node0x17da760 -> Node0x17db250;
+	Node0x17db1e0 [shape=record,label="{for.body3:                                        \l  store float 0.000000e+00, float* %arrayidx5, align 4\l  br label %for.cond6\l}"];
+	Node0x17db1e0 -> Node0x17da740;
+	Node0x17da740 [shape=record,label="{for.cond6:                                        \l  %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body3 ]\l  %arrayidx16 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %indvar3, i64 %indvar\l  %arrayidx20 = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %indvar, i64 %indvar1\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %for.body8, label %for.end\l}"];
+	Node0x17da740 -> Node0x17da5a0;
+	Node0x17da740 -> Node0x17da800;
+	Node0x17da5a0 [shape=record,label="{for.body8:                                        \l  %0 = load float* %arrayidx5, align 4\l  %1 = load float* %arrayidx16, align 4\l  %2 = load float* %arrayidx20, align 4\l  %mul = fmul float %1, %2\l  %add = fadd float %0, %mul\l  store float %add, float* %arrayidx5, align 4\l  br label %for.inc\l}"];
+	Node0x17da5a0 -> Node0x17da5c0;
+	Node0x17da5c0 [shape=record,label="{for.inc:                                          \l  %indvar.next = add i64 %indvar, 1\l  br label %for.cond6\l}"];
+	Node0x17da5c0 -> Node0x17da740[constraint=false];
+	Node0x17da800 [shape=record,label="{for.end:                                          \l  br label %for.inc25\l}"];
+	Node0x17da800 -> Node0x17dae20;
+	Node0x17dae20 [shape=record,label="{for.inc25:                                        \l  %indvar.next2 = add i64 %indvar1, 1\l  br label %for.cond1\l}"];
+	Node0x17dae20 -> Node0x17da760[constraint=false];
+	Node0x17db250 [shape=record,label="{for.end27:                                        \l  br label %for.inc28\l}"];
+	Node0x17db250 -> Node0x17dae80;
+	Node0x17dae80 [shape=record,label="{for.inc28:                                        \l  %indvar.next4 = add i64 %indvar3, 1\l  br label %for.cond\l}"];
+	Node0x17dae80 -> Node0x17d2020[constraint=false];
+	Node0x17da500 [shape=record,label="{for.end30:                                        \l  ret i32 0\l}"];
 	colorscheme = "paired12"
-        subgraph cluster_0x26a8b20 {
+        subgraph cluster_0x17d3f30 {
           label = "";
           style = solid;
           color = 1
-          subgraph cluster_0x26a9220 {
+          subgraph cluster_0x17d38d0 {
             label = "";
             style = filled;
-            color = 3            subgraph cluster_0x26ad500 {
+            color = 3            subgraph cluster_0x17d3850 {
               label = "";
               style = solid;
               color = 5
-              subgraph cluster_0x26ad480 {
+              subgraph cluster_0x17d37d0 {
                 label = "";
                 style = solid;
                 color = 7
-                Node0x26aced0;
-                Node0x26ace60;
-                Node0x26af640;
+                Node0x17da740;
+                Node0x17da5a0;
+                Node0x17da5c0;
               }
-              Node0x26aee80;
-              Node0x26aeea0;
-              Node0x26af5e0;
-              Node0x26af6e0;
+              Node0x17da760;
+              Node0x17db1e0;
+              Node0x17da800;
+              Node0x17dae20;
             }
-            Node0x26acd60;
-            Node0x26acd80;
-            Node0x26aeec0;
-            Node0x26af740;
+            Node0x17d2020;
+            Node0x17d3950;
+            Node0x17db250;
+            Node0x17dae80;
           }
-          Node0x26ace10;
-          Node0x26af2e0;
+          Node0x17d21a0;
+          Node0x17da500;
         }
 }

Modified: polly/branches/release_33/www/experiments/matmul/scops.main.dot.png
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scops.main.dot.png?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/scops.main.dot.png (original) and polly/branches/release_33/www/experiments/matmul/scops.main.dot.png Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/scops.print_array.dot
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scops.print_array.dot?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/scops.print_array.dot (original)
+++ polly/branches/release_33/www/experiments/matmul/scops.print_array.dot Wed Jun  5 21:48:13 2013
@@ -1,60 +1,60 @@
 digraph "Scop Graph for 'print_array' function" {
 	label="Scop Graph for 'print_array' function";
 
-	Node0x26ac9a0 [shape=record,label="{%0:\l\l  br label %1\l}"];
-	Node0x26ac9a0 -> Node0x26acd00;
-	Node0x26acd00 [shape=record,label="{%1:\l\l  %indvar1 = phi i64 [ %indvar.next2, %19 ], [ 0, %0 ]\l  %exitcond3 = icmp ne i64 %indvar1, 1536\l  br i1 %exitcond3, label %2, label %20\l}"];
-	Node0x26acd00 -> Node0x26a8ac0;
-	Node0x26acd00 -> Node0x26ac9c0;
-	Node0x26a8ac0 [shape=record,label="{%2:\l\l  br label %3\l}"];
-	Node0x26a8ac0 -> Node0x26ad940;
-	Node0x26ad940 [shape=record,label="{%3:\l\l  %indvar = phi i64 [ %indvar.next, %15 ], [ 0, %2 ]\l  %scevgep = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar1, i64 %indvar\l  %j.0 = trunc i64 %indvar to i32\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %4, label %16\l}"];
-	Node0x26ad940 -> Node0x26acde0;
-	Node0x26ad940 -> Node0x26ad9e0;
-	Node0x26acde0 [shape=record,label="{%4:\l\l  %5 = load %struct._IO_FILE** @stdout, align 8\l  %6 = load float* %scevgep\l  %7 = fpext float %6 to double\l  %8 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %5, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %7)\l  %9 = srem i32 %j.0, 80\l  %10 = icmp eq i32 %9, 79\l  br i1 %10, label %11, label %14\l}"];
-	Node0x26acde0 -> Node0x26ada40;
-	Node0x26acde0 -> Node0x26acfa0;
-	Node0x26ada40 [shape=record,label="{%11:\l\l  %12 = load %struct._IO_FILE** @stdout, align 8\l  %13 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %12, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))\l  br label %14\l}"];
-	Node0x26ada40 -> Node0x26acfa0;
-	Node0x26acfa0 [shape=record,label="{%14:\l\l  br label %15\l}"];
-	Node0x26acfa0 -> Node0x26ad6c0;
-	Node0x26ad6c0 [shape=record,label="{%15:\l\l  %indvar.next = add i64 %indvar, 1\l  br label %3\l}"];
-	Node0x26ad6c0 -> Node0x26ad940[constraint=false];
-	Node0x26ad9e0 [shape=record,label="{%16:\l\l  %17 = load %struct._IO_FILE** @stdout, align 8\l  %18 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %17, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))\l  br label %19\l}"];
-	Node0x26ad9e0 -> Node0x26ace00;
-	Node0x26ace00 [shape=record,label="{%19:\l\l  %indvar.next2 = add i64 %indvar1, 1\l  br label %1\l}"];
-	Node0x26ace00 -> Node0x26acd00[constraint=false];
-	Node0x26ac9c0 [shape=record,label="{%20:\l\l  ret void\l}"];
+	Node0x17d2200 [shape=record,label="{entry:\l  br label %for.cond\l}"];
+	Node0x17d2200 -> Node0x17d4f20;
+	Node0x17d4f20 [shape=record,label="{for.cond:                                         \l  %indvar1 = phi i64 [ %indvar.next2, %for.inc10 ], [ 0, %entry ]\l  %exitcond3 = icmp ne i64 %indvar1, 1536\l  br i1 %exitcond3, label %for.body, label %for.end12\l}"];
+	Node0x17d4f20 -> Node0x17d3680;
+	Node0x17d4f20 -> Node0x17d9fc0;
+	Node0x17d3680 [shape=record,label="{for.body:                                         \l  br label %for.cond1\l}"];
+	Node0x17d3680 -> Node0x17da220;
+	Node0x17da220 [shape=record,label="{for.cond1:                                        \l  %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body ]\l  %arrayidx5 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar1, i64 %indvar\l  %j.0 = trunc i64 %indvar to i32\l  %exitcond = icmp ne i64 %indvar, 1536\l  br i1 %exitcond, label %for.body3, label %for.end\l}"];
+	Node0x17da220 -> Node0x17d9ea0;
+	Node0x17da220 -> Node0x17da0f0;
+	Node0x17d9ea0 [shape=record,label="{for.body3:                                        \l  %0 = load %struct._IO_FILE** @stdout, align 8\l  %1 = load float* %arrayidx5, align 4\l  %conv = fpext float %1 to double\l  %call = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %0, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %conv)\l  %rem = srem i32 %j.0, 80\l  %cmp6 = icmp eq i32 %rem, 79\l  br i1 %cmp6, label %if.then, label %if.end\l}"];
+	Node0x17d9ea0 -> Node0x17d9ec0;
+	Node0x17d9ea0 -> Node0x17da060;
+	Node0x17d9ec0 [shape=record,label="{if.then:                                          \l  %2 = load %struct._IO_FILE** @stdout, align 8\l  %call8 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %2, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))\l  br label %if.end\l}"];
+	Node0x17d9ec0 -> Node0x17da060;
+	Node0x17da060 [shape=record,label="{if.end:                                           \l  br label %for.inc\l}"];
+	Node0x17da060 -> Node0x17da200;
+	Node0x17da200 [shape=record,label="{for.inc:                                          \l  %indvar.next = add i64 %indvar, 1\l  br label %for.cond1\l}"];
+	Node0x17da200 -> Node0x17da220[constraint=false];
+	Node0x17da0f0 [shape=record,label="{for.end:                                          \l  %3 = load %struct._IO_FILE** @stdout, align 8\l  %call9 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %3, i8* getelementptr inbounds ([2 x i8]* @.str1, i32 0, i32 0))\l  br label %for.inc10\l}"];
+	Node0x17da0f0 -> Node0x17da080;
+	Node0x17da080 [shape=record,label="{for.inc10:                                        \l  %indvar.next2 = add i64 %indvar1, 1\l  br label %for.cond\l}"];
+	Node0x17da080 -> Node0x17d4f20[constraint=false];
+	Node0x17d9fc0 [shape=record,label="{for.end12:                                        \l  ret void\l}"];
 	colorscheme = "paired12"
-        subgraph cluster_0x26adae0 {
+        subgraph cluster_0x17d38f0 {
           label = "";
           style = solid;
           color = 1
-          subgraph cluster_0x26aa030 {
-            label = "";
+          subgraph cluster_0x17d4030 {
+            label = "Non affine branch in BB 'for.body3' with LHS: %rem and RHS: 79";
             style = solid;
             color = 6
-            subgraph cluster_0x26a9fb0 {
-              label = "";
+            subgraph cluster_0x17d3fb0 {
+              label = "Non affine branch in BB 'for.body3' with LHS: %rem and RHS: 79";
               style = solid;
               color = 5
-              subgraph cluster_0x26adb60 {
-                label = "";
+              subgraph cluster_0x17d3f30 {
+                label = "Non affine branch in BB 'for.body3' with LHS: %rem and RHS: 79";
                 style = solid;
                 color = 7
-                Node0x26acde0;
-                Node0x26ada40;
+                Node0x17d9ea0;
+                Node0x17d9ec0;
               }
-              Node0x26ad940;
-              Node0x26acfa0;
-              Node0x26ad6c0;
+              Node0x17da220;
+              Node0x17da060;
+              Node0x17da200;
             }
-            Node0x26acd00;
-            Node0x26a8ac0;
-            Node0x26ad9e0;
-            Node0x26ace00;
+            Node0x17d4f20;
+            Node0x17d3680;
+            Node0x17da0f0;
+            Node0x17da080;
           }
-          Node0x26ac9a0;
-          Node0x26ac9c0;
+          Node0x17d2200;
+          Node0x17d9fc0;
         }
 }

Modified: polly/branches/release_33/www/experiments/matmul/scops.print_array.dot.png
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scops.print_array.dot.png?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/scops.print_array.dot.png (original) and polly/branches/release_33/www/experiments/matmul/scops.print_array.dot.png Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot (original)
+++ polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot Wed Jun  5 21:48:13 2013
@@ -1,47 +1,47 @@
 digraph "Scop Graph for 'init_array' function" {
 	label="Scop Graph for 'init_array' function";
 
-	Node0x24dfca0 [shape=record,label="{%0}"];
-	Node0x24dfca0 -> Node0x24dfdf0;
-	Node0x24dfdf0 [shape=record,label="{%1}"];
-	Node0x24dfdf0 -> Node0x24dee50;
-	Node0x24dfdf0 -> Node0x24def50;
-	Node0x24dee50 [shape=record,label="{%3}"];
-	Node0x24dee50 -> Node0x24deec0;
-	Node0x24deec0 [shape=record,label="{%4}"];
-	Node0x24deec0 -> Node0x24dfdc0;
-	Node0x24deec0 -> Node0x24df0c0;
-	Node0x24dfdc0 [shape=record,label="{%5}"];
-	Node0x24dfdc0 -> Node0x24defb0;
-	Node0x24defb0 [shape=record,label="{%16}"];
-	Node0x24defb0 -> Node0x24deec0[constraint=false];
-	Node0x24df0c0 [shape=record,label="{%17}"];
-	Node0x24df0c0 -> Node0x24deee0;
-	Node0x24deee0 [shape=record,label="{%18}"];
-	Node0x24deee0 -> Node0x24dfdf0[constraint=false];
-	Node0x24def50 [shape=record,label="{%19}"];
+	Node0x17d4370 [shape=record,label="{entry}"];
+	Node0x17d4370 -> Node0x17d9de0;
+	Node0x17d9de0 [shape=record,label="{for.cond}"];
+	Node0x17d9de0 -> Node0x17d9e40;
+	Node0x17d9de0 -> Node0x17d9ea0;
+	Node0x17d9e40 [shape=record,label="{for.body}"];
+	Node0x17d9e40 -> Node0x17d9f90;
+	Node0x17d9f90 [shape=record,label="{for.cond1}"];
+	Node0x17d9f90 -> Node0x17d9ff0;
+	Node0x17d9f90 -> Node0x17da050;
+	Node0x17d9ff0 [shape=record,label="{for.body3}"];
+	Node0x17d9ff0 -> Node0x17d9f00;
+	Node0x17d9f00 [shape=record,label="{for.inc}"];
+	Node0x17d9f00 -> Node0x17d9f90[constraint=false];
+	Node0x17da050 [shape=record,label="{for.end}"];
+	Node0x17da050 -> Node0x17da200;
+	Node0x17da200 [shape=record,label="{for.inc17}"];
+	Node0x17da200 -> Node0x17d9de0[constraint=false];
+	Node0x17d9ea0 [shape=record,label="{for.end19}"];
 	colorscheme = "paired12"
-        subgraph cluster_0x24db4c0 {
+        subgraph cluster_0x17d3a30 {
           label = "";
           style = solid;
           color = 1
-          subgraph cluster_0x24dc4e0 {
+          subgraph cluster_0x17d4ec0 {
             label = "";
             style = filled;
-            color = 3            subgraph cluster_0x24db780 {
+            color = 3            subgraph cluster_0x17d4180 {
               label = "";
               style = solid;
               color = 5
-              Node0x24deec0;
-              Node0x24dfdc0;
-              Node0x24defb0;
+              Node0x17d9f90;
+              Node0x17d9ff0;
+              Node0x17d9f00;
             }
-            Node0x24dfdf0;
-            Node0x24dee50;
-            Node0x24df0c0;
-            Node0x24deee0;
+            Node0x17d9de0;
+            Node0x17d9e40;
+            Node0x17da050;
+            Node0x17da200;
           }
-          Node0x24dfca0;
-          Node0x24def50;
+          Node0x17d4370;
+          Node0x17d9ea0;
         }
 }

Modified: polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot.png
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot.png?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot.png (original) and polly/branches/release_33/www/experiments/matmul/scopsonly.init_array.dot.png Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot (original)
+++ polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot Wed Jun  5 21:48:13 2013
@@ -1,65 +1,65 @@
 digraph "Scop Graph for 'main' function" {
 	label="Scop Graph for 'main' function";
 
-	Node0x24deb60 [shape=record,label="{%0}"];
-	Node0x24deb60 -> Node0x24deaa0;
-	Node0x24deaa0 [shape=record,label="{%1}"];
-	Node0x24deaa0 -> Node0x24e12a0;
-	Node0x24deaa0 -> Node0x24e0e30;
-	Node0x24e12a0 [shape=record,label="{%2}"];
-	Node0x24e12a0 -> Node0x24e0e00;
-	Node0x24e0e00 [shape=record,label="{%3}"];
-	Node0x24e0e00 -> Node0x24e1410;
-	Node0x24e0e00 -> Node0x24e1470;
-	Node0x24e1410 [shape=record,label="{%4}"];
-	Node0x24e1410 -> Node0x24e1380;
-	Node0x24e1380 [shape=record,label="{%5}"];
-	Node0x24e1380 -> Node0x24deaf0;
-	Node0x24e1380 -> Node0x24e1620;
-	Node0x24deaf0 [shape=record,label="{%6}"];
-	Node0x24deaf0 -> Node0x24e1680;
-	Node0x24e1680 [shape=record,label="{%12}"];
-	Node0x24e1680 -> Node0x24e1380[constraint=false];
-	Node0x24e1620 [shape=record,label="{%13}"];
-	Node0x24e1620 -> Node0x24e16e0;
-	Node0x24e16e0 [shape=record,label="{%14}"];
-	Node0x24e16e0 -> Node0x24e0e00[constraint=false];
-	Node0x24e1470 [shape=record,label="{%15}"];
-	Node0x24e1470 -> Node0x24e01a0;
-	Node0x24e01a0 [shape=record,label="{%16}"];
-	Node0x24e01a0 -> Node0x24deaa0[constraint=false];
-	Node0x24e0e30 [shape=record,label="{%17}"];
+	Node0x17d3950 [shape=record,label="{entry}"];
+	Node0x17d3950 -> Node0x17d21a0;
+	Node0x17d21a0 [shape=record,label="{for.cond}"];
+	Node0x17d21a0 -> Node0x17db9a0;
+	Node0x17d21a0 -> Node0x17da4f0;
+	Node0x17db9a0 [shape=record,label="{for.body}"];
+	Node0x17db9a0 -> Node0x17da5e0;
+	Node0x17da5e0 [shape=record,label="{for.cond1}"];
+	Node0x17da5e0 -> Node0x17da640;
+	Node0x17da5e0 -> Node0x17da6a0;
+	Node0x17da640 [shape=record,label="{for.body3}"];
+	Node0x17da640 -> Node0x17da550;
+	Node0x17da550 [shape=record,label="{for.cond6}"];
+	Node0x17da550 -> Node0x17da5b0;
+	Node0x17da550 -> Node0x17da850;
+	Node0x17da5b0 [shape=record,label="{for.body8}"];
+	Node0x17da5b0 -> Node0x17da8b0;
+	Node0x17da8b0 [shape=record,label="{for.inc}"];
+	Node0x17da8b0 -> Node0x17da550[constraint=false];
+	Node0x17da850 [shape=record,label="{for.end}"];
+	Node0x17da850 -> Node0x17db930;
+	Node0x17db930 [shape=record,label="{for.inc25}"];
+	Node0x17db930 -> Node0x17da5e0[constraint=false];
+	Node0x17da6a0 [shape=record,label="{for.end27}"];
+	Node0x17da6a0 -> Node0x17dada0;
+	Node0x17dada0 [shape=record,label="{for.inc28}"];
+	Node0x17dada0 -> Node0x17d21a0[constraint=false];
+	Node0x17da4f0 [shape=record,label="{for.end30}"];
 	colorscheme = "paired12"
-        subgraph cluster_0x24dfc10 {
+        subgraph cluster_0x17d3f30 {
           label = "";
           style = solid;
           color = 1
-          subgraph cluster_0x24de570 {
+          subgraph cluster_0x17d38d0 {
             label = "";
             style = filled;
-            color = 3            subgraph cluster_0x24de7a0 {
+            color = 3            subgraph cluster_0x17d3850 {
               label = "";
               style = solid;
               color = 5
-              subgraph cluster_0x24de720 {
+              subgraph cluster_0x17d37d0 {
                 label = "";
                 style = solid;
                 color = 7
-                Node0x24e1380;
-                Node0x24deaf0;
-                Node0x24e1680;
+                Node0x17da550;
+                Node0x17da5b0;
+                Node0x17da8b0;
               }
-              Node0x24e0e00;
-              Node0x24e1410;
-              Node0x24e1620;
-              Node0x24e16e0;
+              Node0x17da5e0;
+              Node0x17da640;
+              Node0x17da850;
+              Node0x17db930;
             }
-            Node0x24deaa0;
-            Node0x24e12a0;
-            Node0x24e1470;
-            Node0x24e01a0;
+            Node0x17d21a0;
+            Node0x17db9a0;
+            Node0x17da6a0;
+            Node0x17dada0;
           }
-          Node0x24deb60;
-          Node0x24e0e30;
+          Node0x17d3950;
+          Node0x17da4f0;
         }
 }

Modified: polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot.png
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot.png?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot.png (original) and polly/branches/release_33/www/experiments/matmul/scopsonly.main.dot.png Wed Jun  5 21:48:13 2013 differ

Modified: polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
--- polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot (original)
+++ polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot Wed Jun  5 21:48:13 2013
@@ -1,60 +1,60 @@
 digraph "Scop Graph for 'print_array' function" {
 	label="Scop Graph for 'print_array' function";
 
-	Node0x24df2c0 [shape=record,label="{%0}"];
-	Node0x24df2c0 -> Node0x24df2a0;
-	Node0x24df2a0 [shape=record,label="{%1}"];
-	Node0x24df2a0 -> Node0x24dee90;
-	Node0x24df2a0 -> Node0x24dee20;
-	Node0x24dee90 [shape=record,label="{%2}"];
-	Node0x24dee90 -> Node0x24debd0;
-	Node0x24debd0 [shape=record,label="{%3}"];
-	Node0x24debd0 -> Node0x24df150;
-	Node0x24debd0 -> Node0x24de990;
-	Node0x24df150 [shape=record,label="{%4}"];
-	Node0x24df150 -> Node0x24df3a0;
-	Node0x24df150 -> Node0x24defb0;
-	Node0x24df3a0 [shape=record,label="{%11}"];
-	Node0x24df3a0 -> Node0x24defb0;
-	Node0x24defb0 [shape=record,label="{%14}"];
-	Node0x24defb0 -> Node0x24df530;
-	Node0x24df530 [shape=record,label="{%15}"];
-	Node0x24df530 -> Node0x24debd0[constraint=false];
-	Node0x24de990 [shape=record,label="{%16}"];
-	Node0x24de990 -> Node0x24df9a0;
-	Node0x24df9a0 [shape=record,label="{%19}"];
-	Node0x24df9a0 -> Node0x24df2a0[constraint=false];
-	Node0x24dee20 [shape=record,label="{%20}"];
+	Node0x17d2200 [shape=record,label="{entry}"];
+	Node0x17d2200 -> Node0x17d4f20;
+	Node0x17d4f20 [shape=record,label="{for.cond}"];
+	Node0x17d4f20 -> Node0x17d9fd0;
+	Node0x17d4f20 -> Node0x17da030;
+	Node0x17d9fd0 [shape=record,label="{for.body}"];
+	Node0x17d9fd0 -> Node0x17da120;
+	Node0x17da120 [shape=record,label="{for.cond1}"];
+	Node0x17da120 -> Node0x17da180;
+	Node0x17da120 -> Node0x17da1e0;
+	Node0x17da180 [shape=record,label="{for.body3}"];
+	Node0x17da180 -> Node0x17da090;
+	Node0x17da180 -> Node0x17da0f0;
+	Node0x17da090 [shape=record,label="{if.then}"];
+	Node0x17da090 -> Node0x17da0f0;
+	Node0x17da0f0 [shape=record,label="{if.end}"];
+	Node0x17da0f0 -> Node0x17da390;
+	Node0x17da390 [shape=record,label="{for.inc}"];
+	Node0x17da390 -> Node0x17da120[constraint=false];
+	Node0x17da1e0 [shape=record,label="{for.end}"];
+	Node0x17da1e0 -> Node0x17d9e40;
+	Node0x17d9e40 [shape=record,label="{for.inc10}"];
+	Node0x17d9e40 -> Node0x17d4f20[constraint=false];
+	Node0x17da030 [shape=record,label="{for.end12}"];
 	colorscheme = "paired12"
-        subgraph cluster_0x24dbe40 {
+        subgraph cluster_0x17d38f0 {
           label = "";
           style = solid;
           color = 1
-          subgraph cluster_0x24db6e0 {
-            label = "";
+          subgraph cluster_0x17d4030 {
+            label = "Non affine branch in BB 'for.body3' with LHS: %rem and RHS: 79";
             style = solid;
             color = 6
-            subgraph cluster_0x24db660 {
-              label = "";
+            subgraph cluster_0x17d3fb0 {
+              label = "Non affine branch in BB 'for.body3' with LHS: %rem and RHS: 79";
               style = solid;
               color = 5
-              subgraph cluster_0x24db5e0 {
-                label = "";
+              subgraph cluster_0x17d3f30 {
+                label = "Non affine branch in BB 'for.body3' with LHS: %rem and RHS: 79";
                 style = solid;
                 color = 7
-                Node0x24df150;
-                Node0x24df3a0;
+                Node0x17da180;
+                Node0x17da090;
               }
-              Node0x24debd0;
-              Node0x24defb0;
-              Node0x24df530;
+              Node0x17da120;
+              Node0x17da0f0;
+              Node0x17da390;
             }
-            Node0x24df2a0;
-            Node0x24dee90;
-            Node0x24de990;
-            Node0x24df9a0;
+            Node0x17d4f20;
+            Node0x17d9fd0;
+            Node0x17da1e0;
+            Node0x17d9e40;
           }
-          Node0x24df2c0;
-          Node0x24dee20;
+          Node0x17d2200;
+          Node0x17da030;
         }
 }

Modified: polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot.png
URL: http://llvm.org/viewvc/llvm-project/polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot.png?rev=183376&r1=183375&r2=183376&view=diff
==============================================================================
Binary files polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot.png (original) and polly/branches/release_33/www/experiments/matmul/scopsonly.print_array.dot.png Wed Jun  5 21:48:13 2013 differ





More information about the llvm-branch-commits mailing list