[llvm-commits] [llvm] r45377 - /llvm/trunk/lib/Target/README.txt
Chris Lattner
sabre at nondot.org
Thu Dec 27 20:42:06 PST 2007
Author: lattner
Date: Thu Dec 27 22:42:05 2007
New Revision: 45377
URL: http://llvm.org/viewvc/llvm-project?rev=45377&view=rev
Log:
add a note
Modified:
llvm/trunk/lib/Target/README.txt
Modified: llvm/trunk/lib/Target/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=45377&r1=45376&r2=45377&view=diff
==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Thu Dec 27 22:42:05 2007
@@ -464,3 +464,22 @@
}
//===---------------------------------------------------------------------===//
+
+"basicaa" should know how to look through "or" instructions that act like add
+instructions. For example in this code, the x*4+1 is turned into x*4 | 1, and
+basicaa can't analyze the array subscript, leading to duplicated loads in the
+generated code:
+
+void test(int X, int Y, int a[]) {
+int i;
+ for (i=2; i<1000; i+=4) {
+ a[i+0] = a[i-1+0]*a[i-2+0];
+ a[i+1] = a[i-1+1]*a[i-2+1];
+ a[i+2] = a[i-1+2]*a[i-2+2];
+ a[i+3] = a[i-1+3]*a[i-2+3];
+ }
+}
+
+
+
+//===---------------------------------------------------------------------===//
More information about the llvm-commits
mailing list