diff options
author | Chris Lattner <sabre@nondot.org> | 2008-01-11 18:00:13 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-01-11 18:00:13 +0000 |
commit | 047ad94fc0a75e7240a8fb3a932fd3381a085dbe (patch) | |
tree | 3a7f2d77493af419d14d4984483c883346e72d76 | |
parent | a51cf0f074d1b11cb904e44984aa0a48a817dc04 (diff) |
add a note, remove a done deed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45869 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/README.txt | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 5ffb2f81cd..e9f0d7338b 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -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): |