summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-10-03 06:10:59 +0000
committerChris Lattner <sabre@nondot.org>2007-10-03 06:10:59 +0000
commit4d4e9cdb62b33b524f4f95abcfd7c0c8049ce3fc (patch)
tree7a3ba505ef825215a377a369532b18e8f9cc8759 /llvm/lib/Target
parentb511029eaff0cbd7c65906d8957ec4c0ae89bd95 (diff)
downloadbcm5719-llvm-4d4e9cdb62b33b524f4f95abcfd7c0c8049ce3fc.tar.gz
bcm5719-llvm-4d4e9cdb62b33b524f4f95abcfd7c0c8049ce3fc.zip
add a note
llvm-svn: 42573
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/README.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt
index 37b671f34b7..2db7e64874b 100644
--- a/llvm/lib/Target/README.txt
+++ b/llvm/lib/Target/README.txt
@@ -427,6 +427,22 @@ return:
//===---------------------------------------------------------------------===//
+Tail recursion elimination is not transforming this function, because it is
+returning n, which fails the isDynamicConstant check in the accumulator
+recursion checks.
+
+long long fib(const long long n) {
+ switch(n) {
+ case 0:
+ case 1:
+ return n;
+ default:
+ return fib(n-1) + fib(n-2);
+ }
+}
+
+//===---------------------------------------------------------------------===//
+
Argument promotion should promote arguments for recursive functions, like
this:
OpenPOWER on IntegriCloud