diff options
author | Chris Lattner <sabre@nondot.org> | 2005-05-06 05:59:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-05-06 05:59:50 +0000 |
commit | eaf625dc5c167e384e9b7ab1b82d8c23233f3ba6 (patch) | |
tree | 7b5697d99fcaf3dd3be9fe2d96d94db145e449bf /llvm/examples | |
parent | 0603845a4964e0ea7a4ac9af904d706a984341bc (diff) | |
download | bcm5719-llvm-eaf625dc5c167e384e9b7ab1b82d8c23233f3ba6.tar.gz bcm5719-llvm-eaf625dc5c167e384e9b7ab1b82d8c23233f3ba6.zip |
These are legal for tail calls
llvm-svn: 21723
Diffstat (limited to 'llvm/examples')
-rw-r--r-- | llvm/examples/Fibonacci/fibonacci.cpp | 3 | ||||
-rw-r--r-- | llvm/examples/HowToUseJIT/HowToUseJIT.cpp | 3 |
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); |