add a note, remove a done deed.
authorChris Lattner <sabre@nondot.org>
Fri, 11 Jan 2008 18:00:13 +0000 (18:00 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 11 Jan 2008 18:00:13 +0000 (18:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45869 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README.txt

index 5ffb2f81cd3e32238dd43b19df2a4adba1fe30a2..e9f0d7338b3857dc5018d7e4ee4d97a5631844a1 100644 (file)
@@ -998,24 +998,6 @@ _test:
 
 //===---------------------------------------------------------------------===//
 
-For code like:
-phi (undef, x)
-
-We get an implicit def on the undef side. If the phi is spilled, we then get:
-implicitdef xmm1
-store xmm1 -> stack
-
-It should be possible to teach the x86 backend to "fold" the store into the
-implicitdef, which just deletes the implicit def.
-
-These instructions should go away:
-#IMPLICIT_DEF %xmm1 
-movaps %xmm1, 192(%esp) 
-movaps %xmm1, 224(%esp) 
-movaps %xmm1, 176(%esp)
-
-//===---------------------------------------------------------------------===//
-
 This is a "commutable two-address" register coallescing deficiency:
 
 define <4 x float> @test1(<4 x float> %V) {
@@ -1510,6 +1492,9 @@ movl    $0, 124(%esp)
 
 if the flags of the xor are dead.
 
+Likewise, we isel "x<<1" into "add reg,reg".  If reg is spilled, this should
+be folded into: shl [mem], 1
+
 //===---------------------------------------------------------------------===//
 
 This testcase misses a read/modify/write opportunity (from PR1425):