diff options
| author | Gabor Greif <ggreif@gmail.com> | 2010-04-16 01:16:20 +0000 |
|---|---|---|
| committer | Gabor Greif <ggreif@gmail.com> | 2010-04-16 01:16:20 +0000 |
| commit | 403e9694f9e284cb145bb6f40b1b7c9f70a125f1 (patch) | |
| tree | 1b7aaa95239227c67473d032a9dfae5b48c122d2 /llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp | |
| parent | 393e08536dbe9ca338c6d15a97731737c174ce7b (diff) | |
| download | llvm-403e9694f9e284cb145bb6f40b1b7c9f70a125f1.zip llvm-403e9694f9e284cb145bb6f40b1b7c9f70a125f1.tar.gz llvm-403e9694f9e284cb145bb6f40b1b7c9f70a125f1.tar.bz2 | |
back out r101423 and r101397, they break llvm-gcc self-host on darwin10
llvm-svn: 101434
Diffstat (limited to 'llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp index 667e4d9..162d902 100644 --- a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp +++ b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp @@ -250,7 +250,7 @@ static bool isDynamicConstant(Value *V, CallInst *CI, ReturnInst *RI) { // If we are passing this argument into call as the corresponding // argument operand, then the argument is dynamically constant. // Otherwise, we cannot transform this function safely. - if (CI->getOperand(ArgNo) == Arg) + if (CI->getOperand(ArgNo+1) == Arg) return true; } @@ -442,7 +442,7 @@ bool TailCallElim::ProcessReturningBlock(ReturnInst *Ret, BasicBlock *&OldEntry, // required PHI nodes, add entries into the PHI node for the actual // parameters passed into the tail-recursive call. for (unsigned i = 0, e = CI->getNumOperands()-1; i != e; ++i) - ArgumentPHIs[i]->addIncoming(CI->getOperand(i), BB); + ArgumentPHIs[i]->addIncoming(CI->getOperand(i+1), BB); // If we are introducing an accumulator variable to eliminate the recursion, // do so now. Note that we _know_ that no subsequent tail recursion |
