Changes in directory llvm/lib/Target/X86:

README.txt updated: 1.45 -> 1.46
---
Log message:

remove some target-indep and implemented notes


---
Diffs of the changes:  (+0 -44)

 README.txt |   44 --------------------------------------------
 1 files changed, 44 deletions(-)


Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.45 llvm/lib/Target/X86/README.txt:1.46
--- llvm/lib/Target/X86/README.txt:1.45 Thu Feb  2 13:43:28 2006
+++ llvm/lib/Target/X86/README.txt      Fri Feb  3 00:22:11 2006
@@ -76,11 +76,6 @@
 
 //===---------------------------------------------------------------------===//
 
-Should support emission of the bswap instruction, probably by adding a new
-DAG node for byte swapping.  Also useful on PPC which has byte-swapping loads.
-
-//===---------------------------------------------------------------------===//
-
 Compile this:
 _Bool f(_Bool a) { return a!=1; }
 
@@ -168,45 +163,6 @@
 
 //===---------------------------------------------------------------------===//
 
-For all targets, not just X86:
-When llvm.memcpy, llvm.memset, or llvm.memmove are lowered, they should be 
-optimized to a few store instructions if the source is constant and the length
-is smallish (< 8). This will greatly help some tests like Shootout/strcat.c
-
-//===---------------------------------------------------------------------===//
-
-Solve this DAG isel folding deficiency:
-
-int X, Y;
-
-void fn1(void)
-{
-  X = X | (Y << 3);
-}
-
-compiles to
-
-fn1:
-       movl Y, %eax
-       shll $3, %eax
-       orl X, %eax
-       movl %eax, X
-       ret
-
-The problem is the store's chain operand is not the load X but rather
-a TokenFactor of the load X and load Y, which prevents the folding.
-
-There are two ways to fix this:
-
-1. The dag combiner can start using alias analysis to realize that y/x
-   don't alias, making the store to X not dependent on the load from Y.
-2. The generated isel could be made smarter in the case it can't
-   disambiguate the pointers.
-
-Number 1 is the preferred solution.
-
-//===---------------------------------------------------------------------===//
-
 The instruction selector sometimes misses folding a load into a compare.  The
 pattern is written as (cmp reg, (load p)).  Because the compare isn't 
 commutative, it is not matched with the load on both sides.  The dag combiner



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

Reply via email to