[llvm-commits] [llvm] r167688 - /llvm/trunk/docs/ReleaseNotes.html

Joey Gouly joey.gouly at arm.com
Mon Nov 12 01:35:32 PST 2012


Hi Nadav,
You had a typo:
s/incrimented/incremented/

Thanks,
Joey

-----Original Message-----
From: llvm-commits-bounces at cs.uiuc.edu
[mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Nadav Rotem
Sent: 11 November 2012 06:48
To: llvm-commits at cs.uiuc.edu
Subject: [llvm-commits] [llvm] r167688 - /llvm/trunk/docs/ReleaseNotes.html

Author: nadav
Date: Sun Nov 11 00:47:51 2012
New Revision: 167688

URL: http://llvm.org/viewvc/llvm-project?rev=167688&view=rev
Log:
Update the vectorizer docs.

Modified:
    llvm/trunk/docs/ReleaseNotes.html

Modified: llvm/trunk/docs/ReleaseNotes.html
URL:
http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/ReleaseNotes.html?rev=16
7688&r1=167687&r2=167688&view=diff
============================================================================
==
--- llvm/trunk/docs/ReleaseNotes.html (original)
+++ llvm/trunk/docs/ReleaseNotes.html Sun Nov 11 00:47:51 2012
@@ -473,15 +473,31 @@
     <b>-mllvm -force-vector-width=4</b>.
     The default value is <b>0</b> which means auto-select.
     <br/>
-    We can now vectorize this code:
+    We can now vectorize this function:
 
     <pre class="doc_code">
-    for (i=0; i<n; i++) {
-      a[i] = b[i+1] + c[i+3] + i;
-      sum += d[i];
+    unsigned sum_arrays(int *A, int *B, int start, int end) {
+      unsigned sum = 0;
+      for (int i = start; i < end; ++i)
+        sum += A[i] + B[i] + i;
+
+      return sum;
     }
     </pre>
 
+    We vectorize under the following loops:
+    <ul>
+    <li>The inner most loops must have a single basic block.</li>
+    <li>The number of iterations are known before the loop starts to
execute.</li>
+    <li>The loop counter needs to be incrimented by one.</li>
+    <li>The loop trip count <b>can</b> be a variable.</li>
+    <li>Loops do <b>not</b> need to start at zero.</li>
+    <li>The induction variable can be used inside the loop.</li>
+    <li>Loop reductions are supported.</li>
+    <li>Arrays with affine access pattern do <b>not</b> need to be marked
as 'noalias' and are checked at runtime.</li>
+    <li>...</li>
+    </ul>
+
 </p>
 
 <p>SROA - We've re-written SROA to be significantly more powerful.


_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits








More information about the llvm-commits mailing list