[llvm-commits] [llvm] r54602 - /llvm/trunk/lib/Target/README.txt

Chris Lattner sabre at nondot.org
Sat Aug 9 17:47:21 PDT 2008


Author: lattner
Date: Sat Aug  9 19:47:21 2008
New Revision: 54602

URL: http://llvm.org/viewvc/llvm-project?rev=54602&view=rev
Log:
add a note

Modified:
    llvm/trunk/lib/Target/README.txt

Modified: llvm/trunk/lib/Target/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=54602&r1=54601&r2=54602&view=diff

==============================================================================
--- llvm/trunk/lib/Target/README.txt (original)
+++ llvm/trunk/lib/Target/README.txt Sat Aug  9 19:47:21 2008
@@ -438,6 +438,19 @@
 
 //===---------------------------------------------------------------------===//
 
+Tail recursion elimination should handle:
+
+int pow2m1(int n) {
+ if (n == 0)
+   return 0;
+ return 2 * pow2m1 (n - 1) + 1;
+}
+
+Also, multiplies can be turned into SHL's, so they should be handled as if
+they were associative.  "return foo() << 1" can be tail recursion eliminated.
+
+//===---------------------------------------------------------------------===//
+
 Argument promotion should promote arguments for recursive functions, like 
 this:
 





More information about the llvm-commits mailing list