summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-10-03 03:40:24 +0000
committerChris Lattner <sabre@nondot.org>2007-10-03 03:40:24 +0000
commit21ba176c4b812c0a83f58b143f33cce2d8d6cfd4 (patch)
tree9f73059d4f05657972a1af1adc19a5a3c5f4ab0f /llvm/lib
parentb60f254975a387d58d2d173531c5a9d844c82c47 (diff)
downloadbcm5719-llvm-21ba176c4b812c0a83f58b143f33cce2d8d6cfd4.tar.gz
bcm5719-llvm-21ba176c4b812c0a83f58b143f33cce2d8d6cfd4.zip
Bill's example is still not enough to repro this, but it has other issues that
seem significant as well. llvm-svn: 42564
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/README.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt
index 0fd79f23611..39c8a02e313 100644
--- a/llvm/lib/Target/X86/README.txt
+++ b/llvm/lib/Target/X86/README.txt
@@ -1277,6 +1277,14 @@ LBB3_5: # bb114.preheader
movl %eax, -96(%ebp)
movw $0, -98(%ebp)
+This appears to be bad because the RA is not folding the store to the stack
+slot into the movl. The above instructions could be:
+ movl $32, -80(%ebp)
+...
+ movl $32, -84(%ebp)
+...
+This seems like a cross between remat and spill folding.
+
This has redundant subtractions of %eax from a stack slot. However, %ecx doesn't
change, so we could simply subtract %eax from %ecx first and then use %ecx (or
vice-versa).
OpenPOWER on IntegriCloud