Changes in directory llvm/lib/Target:
README.txt updated: 1.9 -> 1.10 --- Log message: add a note --- Diffs of the changes: (+15 -0) README.txt | 15 +++++++++++++++ 1 files changed, 15 insertions(+) Index: llvm/lib/Target/README.txt diff -u llvm/lib/Target/README.txt:1.9 llvm/lib/Target/README.txt:1.10 --- llvm/lib/Target/README.txt:1.9 Thu Mar 2 16:34:38 2006 +++ llvm/lib/Target/README.txt Fri Mar 3 19:19:34 2006 @@ -86,3 +86,18 @@ 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. + _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits