[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