summaryrefslogtreecommitdiff
path: root/examples/Fibonacci/fibonacci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Fibonacci/fibonacci.cpp')
-rw-r--r--examples/Fibonacci/fibonacci.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/examples/Fibonacci/fibonacci.cpp b/examples/Fibonacci/fibonacci.cpp
index 2bef63bb15..7c24e9e2fc 100644
--- a/examples/Fibonacci/fibonacci.cpp
+++ b/examples/Fibonacci/fibonacci.cpp
@@ -65,10 +65,13 @@ static Function *CreateFibFunction(Module *M) {
// create fib(x-1)
Value *Sub = BinaryOperator::createSub(ArgX, One, "arg", RecurseBB);
Value *CallFibX1 = new CallInst(FibF, Sub, "fibx1", RecurseBB);
+ CallFibX1->setTailCall(true);
// create fib(x-2)
Sub = BinaryOperator::createSub(ArgX, Two, "arg", RecurseBB);
Value *CallFibX2 = new CallInst(FibF, Sub, "fibx2", RecurseBB);
+ CallFibX2->setTailCall(true);
+
// fib(x-1)+fib(x-2)
Value *Sum = BinaryOperator::createAdd(CallFibX1, CallFibX2,