summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-04-28 18:43:39 +0000
committerDevang Patel <dpatel@apple.com>2011-04-28 18:43:39 +0000
commit33d87d97f639a5306ffd6abfa8d556159bea208e (patch)
tree559bbaf71f4fc5b737841d8eaaf4a9f4c2b45b0e /llvm/lib/Transforms
parent3cf6d4032a54daa4f68618df1c6bb3430587bfb2 (diff)
downloadbcm5719-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.cpp4
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;
OpenPOWER on IntegriCloud