diff options
author | Devang Patel <dpatel@apple.com> | 2011-04-28 18:43:39 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-04-28 18:43:39 +0000 |
commit | 33d87d97f639a5306ffd6abfa8d556159bea208e (patch) | |
tree | 559bbaf71f4fc5b737841d8eaaf4a9f4c2b45b0e /llvm/lib/Transforms | |
parent | 3cf6d4032a54daa4f68618df1c6bb3430587bfb2 (diff) | |
download | bcm5719-llvm-33d87d97f639a5306ffd6abfa8d556159bea208e.tar.gz bcm5719-llvm-33d87d97f639a5306ffd6abfa8d556159bea208e.zip |
Do not lose line number info while eliminating tail call.
llvm-svn: 130419
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp index a2217597100..539cc6f0baf 100644 --- a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp +++ b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp @@ -573,7 +573,9 @@ bool TailCallElim::EliminateRecursiveTailCall(CallInst *CI, ReturnInst *Ret, // Now that all of the PHI nodes are in place, remove the call and // ret instructions, replacing them with an unconditional branch. - BranchInst::Create(OldEntry, Ret); + BranchInst *NewBI = BranchInst::Create(OldEntry, Ret); + NewBI->setDebugLoc(CI->getDebugLoc()); + BB->getInstList().erase(Ret); // Remove return. BB->getInstList().erase(CI); // Remove call. ++NumEliminated; |