diff options
author | Chris Lattner <sabre@nondot.org> | 2006-03-04 01:19:34 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-03-04 01:19:34 +0000 |
commit | b27b69f2834cb325493808d86b87b5c1f7478d28 (patch) | |
tree | aaef83f214b66e52cc178cf42e7f31f904248b3b /lib/Target/README.txt | |
parent | 8df346b4e871864c8006eab69badba2aaeb44bcd (diff) | |
download | external_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.txt | 15 |
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. + |