Improve tail call elimination to handle the switch statement.
[oota-llvm.git] / lib / Target / README.txt
index 7018b61f68f4229da27c7e47c48d59fff435fafa..dce29b82755ac631c507f4421090b6ec354a4fd3 100644 (file)
@@ -406,22 +406,6 @@ return:            ; preds = %then.1, %else.0, %then.0
 
 //===---------------------------------------------------------------------===//
 
-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);
-  }
-}
-
-//===---------------------------------------------------------------------===//
-
 Tail recursion elimination should handle:
 
 int pow2m1(int n) {