summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-05-06 05:59:50 +0000
committerChris Lattner <sabre@nondot.org>2005-05-06 05:59:50 +0000
commiteaf625dc5c167e384e9b7ab1b82d8c23233f3ba6 (patch)
tree7b5697d99fcaf3dd3be9fe2d96d94db145e449bf
parent0603845a4964e0ea7a4ac9af904d706a984341bc (diff)
downloadbcm5719-llvm-eaf625dc5c167e384e9b7ab1b82d8c23233f3ba6.tar.gz
bcm5719-llvm-eaf625dc5c167e384e9b7ab1b82d8c23233f3ba6.zip
These are legal for tail calls
llvm-svn: 21723
-rw-r--r--llvm/examples/Fibonacci/fibonacci.cpp3
-rw-r--r--llvm/examples/HowToUseJIT/HowToUseJIT.cpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/examples/Fibonacci/fibonacci.cpp b/llvm/examples/Fibonacci/fibonacci.cpp
index 2bef63bb158..7c24e9e2fc8 100644
--- a/llvm/examples/Fibonacci/fibonacci.cpp
+++ b/llvm/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,
diff --git a/llvm/examples/HowToUseJIT/HowToUseJIT.cpp b/llvm/examples/HowToUseJIT/HowToUseJIT.cpp
index 31ea4f45404..192c76dcce1 100644
--- a/llvm/examples/HowToUseJIT/HowToUseJIT.cpp
+++ b/llvm/examples/HowToUseJIT/HowToUseJIT.cpp
@@ -87,7 +87,8 @@ int main() {
// Pass Ten to the call call:
std::vector<Value*> Params;
Params.push_back(Ten);
- CallInst * Add1CallRes = new CallInst(Add1F, Params, "add1", BB);
+ CallInst *Add1CallRes = new CallInst(Add1F, Params, "add1", BB);
+ Add1CallRes->setTailCall(true);
// Create the return instruction and add it to the basic block.
new ReturnInst(Add1CallRes, BB);
OpenPOWER on IntegriCloud