Summary:
There is no need to replace the original call instruction if no
VarArgs need to be forwarded.
Reviewers: davide, rnk, majnemer, efriedma
Reviewed By: efriedma
Subscribers: eraman, llvm-commits
Differential Revision: https://reviews.llvm.org/D40412
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319947
91177308-0d34-0410-b5e6-
96231b3b80d8
if (MarkNoUnwind)
CI->setDoesNotThrow();
- if (ForwardVarArgsTo && CI->getCalledFunction() == ForwardVarArgsTo) {
+ if (ForwardVarArgsTo && !VarArgsToForward.empty() &&
+ CI->getCalledFunction() == ForwardVarArgsTo) {
SmallVector<Value*, 6> Params(CI->arg_operands());
Params.append(VarArgsToForward.begin(), VarArgsToForward.end());
CallInst *Call = CallInst::Create(CI->getCalledFunction(), Params, "", CI);