Potential spiller improvement.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 20 Mar 2007 22:22:38 +0000 (22:22 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 20 Mar 2007 22:22:38 +0000 (22:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35228 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/README.txt [new file with mode: 0644]

diff --git a/lib/CodeGen/README.txt b/lib/CodeGen/README.txt
new file mode 100644 (file)
index 0000000..3f29512
--- /dev/null
@@ -0,0 +1,27 @@
+Common register allocation / spilling problem:
+
+       mul lr, r4, lr
+       str lr, [sp, #+52]
+       ldr lr, [r1, #+32]
+       sxth r3, r3
+       ldr r4, [sp, #+52]
+       mla r4, r3, lr, r4
+
+can be:
+
+       mul lr, r4, lr
+        mov r4, lr
+       str lr, [sp, #+52]
+       ldr lr, [r1, #+32]
+       sxth r3, r3
+       mla r4, r3, lr, r4
+
+and then "merge" mul and mov:
+
+       mul r4, r4, lr
+       str lr, [sp, #+52]
+       ldr lr, [r1, #+32]
+       sxth r3, r3
+       mla r4, r3, lr, r4
+
+It also increase the likelyhood the store may become dead.