aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-04 01:19:34 +0000
committerChris Lattner <sabre@nondot.org>2006-03-04 01:19:34 +0000
commitb27b69f2834cb325493808d86b87b5c1f7478d28 (patch)
treeaaef83f214b66e52cc178cf42e7f31f904248b3b /lib/Target/README.txt
parent8df346b4e871864c8006eab69badba2aaeb44bcd (diff)
downloadexternal_llvm-b27b69f2834cb325493808d86b87b5c1f7478d28.zip
external_llvm-b27b69f2834cb325493808d86b87b5c1f7478d28.tar.gz
external_llvm-b27b69f2834cb325493808d86b87b5c1f7478d28.tar.bz2
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26513 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r--lib/Target/README.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index 1ab1f16..2ce2575 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -86,3 +86,18 @@ int f(int a, int b){ return a * a + 2 * a * b + b * b; }
into:
int f(int a, int b) { return a * (a + 2 * b) + b * b; }
to eliminate a multiply.
+
+//===---------------------------------------------------------------------===//
+
+On targets with expensive 64-bit multiply, we could LSR this:
+
+for (i = ...; ++i) {
+ x = 1ULL << i;
+
+into:
+ long long tmp = 1;
+ for (i = ...; ++i, tmp+=tmp)
+ x = tmp;
+
+This would be a win on ppc32, but not x86 or ppc64.
+